Открыть список
Как стать автором
Обновить

Комментарии 27

Спасибо.
Жду продолжения про has_many, has_and_belongs :)

А отдельно от Рельсов в ActiveRecord можно использовать миграции? (хотя это скорее к rake относится)
Да, можно, конечно, обязательно напишу. Спасибо, что хоть кто-то отписался :))) Вроде старался, да и тема интересная…
Это просто вечер воскресения, все приходят в себя после выходных и праздников :) Тема очень интересная, можно потом на википедию в раздел книги опубликовать.
НЛО прилетело и опубликовало эту надпись здесь
Точно, исправляю!
Вообще вся серия супер!!! Очень последовательно. Надеюсь в последствии получится большой учебник, в котором получится отразить полностью создание web-приложения. И главное про цикл разработки написать отдельную статью. Мне кажется это важно.
Спасибо за труд. Статья хорошая, но, честно говоря, совершенно неинтересная. Все, что вы рассказали — это общие места, которые разжеваны в десятках книг/статей/туториалов. Заметка концептуально не вписывается в ваш цикл. Ведь Ruby это не только Рельсы и непонятно при чем здесь ActiveRecord. Хотелось бы все-таки увидеть больше материалов именно по языку, RoR в рунете и так хорошо освещен. Есть же много интересных тем: применение Ruby вне веба, всякие тонкости и неочевидные вещи. Вот например интересная заметка о блоках, лямбдах и процедурных объектах — www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas Уверен, что изложенный там материал понятен далеко не всем. Такие статьи сложнее писать, но и пользы от них несоизмеримо больше, чем от очередного введения в AC.
Ну это так, фидбэк от читателей, не воспринимайте мои слова в штыки.
Вам спасибо за отзыв. На самом деле просто хочется излагать все последовательно и доступно для начинающих. Надеюсь когда-то настанет время, и мы будем писать и более серьезные вещи :) А вообще — беру на заметку. Еще раз спасибо!
result1 = Account.find(1)
acc2.save

save тут явно лишний.

Простенько так, самые азы.
Затесалось :-[ Попробуем окунуться глубже в следующей статье
> account1 = Account.find(1)
> account1.password = «newpass»
> account1.save

Вы считаете, что эффективно перед выполнением UPDATE делать лишний SELECT? И вообще, что хорошего в ActiveRecord, нагенерирована куча методов (вроде find_by_*, и тд), большинство из которых так нигде и не используется. В чем смысл?

И еще, вопросик: а что, если надо найти записи по какому-то условию, например, все юзеры, зарегистрированные до такого-то числа, и принадлежащие к определенной группе? А если надо выбрать список групп и количество пользователей в каждой? Сомневаюсь, что для этого найдется готовый метод.
Действительно неэффективно. Для этого есть метод update:

Account.update(1, {:password => 'newpass'})


А насчет условий — об этом мы еще поговорим. Готовых, конечно, не найдется
Вот про всякие сложные условия мне как раз и интересно узнать))
Договорились ;)
НЛО прилетело и опубликовало эту надпись здесь
методы типа find_by_* заранее не генерятся. ActiveRecord отлавливает ошибку метод не наден, переопределяя method_missing. Затем объявляет этот метод и выполняет.
> нагенерирована куча методов (вроде find_by_*, и тд), большинство из которых так нигде и не используется. В чем смысл?

Смысл — в усилении абстракции, приближении к более человеческому языку. На самом деле, внутри этих методов будет все тот же вызов find(..., conditions => [...]) (если более точно — find_every(...)), так что, find_by_* — всего лишь синтаксический сахар. При этом первый вызов будет медленней последующих, т.к. метод будет динамически создан по method_missing при первом вызове find_by_*.
Ну если они сами генерируются, то да, кому-то наверно это может быть удобно) Хотя я бы не поленился пистаь find_by( :id => 6 ) (или как там это у вас в Руби пишется), по моему так тоже неплохо.
Я так полагаю, что и в AR STI реализован на varchar стыках?
Интересно. Первая действительно понятная статья на эту тему, а то книжки какие-то тупые пошли...)
ar.rubyonrails.com/ — седня утром почитал — да материала много но не сказал бы, что непоянтнло. Просто надо знать про MVC/ORM непонаслышке, и понимать зачем они сделаны.
MVC знаю непонаслышке, а вот в ORM только ещё въезжаю. Спасибо за наводку.
Поставь пожалуйсто в методах скобочки acc1.save(), дико раздражает этот языковой беспредел, позволяющий вызывать метод как атрибут.
Ещё бы про схемы yaml рассказал.
> Поставь пожалуйсто в методах скобочки acc1.save(), дико раздражает этот языковой беспредел, позволяющий вызывать метод как атрибут.

Дело привычки/непривычки. А методы без скобок, наоборот — одна из возможностей приблизить язык к более человеческому-описательному. Например, «before_filter :a» или «attr_accessor :a, :b», или belongs_to :some_table — мы, как бы, описываем, а не «вызываем» методы (хотя на самом деле — это вызов метода).
это как прировнять глагол и существительное.
По мне так главное, чтобы разработчик понимал, что это метод (я как мог постарался донести это в статье). А после — только наслаждался «человеческим» кодом :)
Вот я имею полное право обьективно откомментить и оценить этот блог, так как только 2 недели назад познакомился с ruby в частности и с программированием в целом. И, честно говоря, я запнулся уже капле на 3 или 4. Хотя, наверное, опытным в программировании людям все понятно интуитивно.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.