1
切换布尔属性的最佳做法是什么,例如取消/发布文章?Rails 3修改布尔属性的最佳实践?
对于模特方面,我看到Object.update_attribute(:only_one_field, 'my_value')
最适合这份工作,而不是update_attributes
。
什么
- 视图(使用一个链接,一个提交按钮的形式,其他的想法?)和
- 控制器端?
切换布尔属性的最佳做法是什么,例如取消/发布文章?Rails 3修改布尔属性的最佳实践?
对于模特方面,我看到Object.update_attribute(:only_one_field, 'my_value')
最适合这份工作,而不是update_attributes
。
什么
视图通常使用表单来更新模型。 form_for
helper使这非常简单。
如果您使用的是标准更新操作(您的控制器继承自InheritedResources::Base
),那么您的更新!方法在你的控制器应该处理这个罚款。
我实际上建议不要使用,除非您知道此调用绕过模型的验证。这通常是为什么表单只是发布到更新或在控制器中创建方法 - 这些默认情况下会遍历整个ActiveRecord生命周期,并调用您的验证。如果您有理由绕过它们,那么请务必使用update_attribute
。
是的,知道验证旁路:Rails API说`update_attribute` *更新并保存记录,而不需要通过正常的验证过程。这对现有记录上的布尔标志特别有用。*这就是为什么我认为它适合这种情况。 – 2011-01-27 20:43:49