2011-01-27 42 views
1

切换布尔属性的最佳做法是什么,例如取消/发布文章?Rails 3修改布尔属性的最佳实践?

对于模特方面,我看到Object.update_attribute(:only_one_field, 'my_value')最适合这份工作,而不是update_attributes

什么

  1. 视图(使用一个链接,一个提交按钮的形式,其他的想法?)和
  2. 控制器端?

回答

1
  1. 视图通常使用表单来更新模型。 form_for helper使这非常简单。

  2. 如果您使用的是标准更新操作(您的控制器继承自InheritedResources::Base),那么您的更新!方法在你的控制器应该处理这个罚款。

我实际上建议不要使用,除非您知道此调用绕过模型的验证。这通常是为什么表单只是发布到更新或在控制器中创建方法 - 这些默认情况下会遍历整个ActiveRecord生命周期,并调用您的验证。如果您有理由绕过它们,那么请务必使用update_attribute

+0

是的,知道验证旁路:Rails API说`update_attribute` *更新并保存记录,而不需要通过正常的验证过程。这对现有记录上的布尔标志特别有用。*这就是为什么我认为它适合这种情况。 – 2011-01-27 20:43:49