Rails 3 лучшая практика для изменения логического атрибута? - PullRequest
1 голос
/ 27 января 2011

Как лучше всего переключать логический атрибут, например, отменять / публиковать статью?

Что касается модели, я увидел, что для этой работы лучше всего подходит Object.update_attribute(:only_one_field, 'my_value') вместо update_attributes.

Как насчет

  1. представления (использовать ссылку, кнопку отправки в форме, другие идеи?) И
  2. на стороне контроллера?

1 Ответ

1 голос
/ 27 января 2011
  1. Представления обычно используют формы для обновления моделей. form_for помощник делает это довольно просто.

  2. Если вы используете стандартное действие обновления (ваш контроллер наследует от InheritedResources::Base), тогда ваше обновление! метод в вашем контроллере должен обработать это нормально.

Я бы на самом деле не советовал использовать Model.update_attribute(:published, value), если вы не знаете, что этот вызов обходит проверки вашей модели. Именно поэтому формы просто публикуют данные для обновления или создают методы в контроллере - они по умолчанию проходят весь жизненный цикл ActiveRecord, вызывая также ваши проверки. Если у вас есть причина их обойти, то обязательно используйте update_attribute.

...