Rails形成单个has_many关联:使得无法编辑所有实例

时间:2012-06-27 18:36:14

标签: ruby-on-rails

我正在制作博客应用。我的Post模型has_many :revisions(每次编辑都有一个版本)。

我的Post模型accepts_nested_attributes_for :revisions

阻止用户编辑某些revisions的所有post的最佳方法是什么(他们可以通过黑客攻击表单来做)?

= simple_form_for @post do |f|
    = f.error_notification

    = f.simple_fields_for :revisions, @revision do |r|
        = r.input :title
        = r.input :body

1 个答案:

答案 0 :(得分:0)

您可以将一个选项传递给accepts_nested_attributes_for,名为:reject_if,如下所示:

accepts_nested_attributes_for :revisions, :reject_if => proc { |attributes| attributes['name'].blank? }

在选项中传递的proc中,您可以指定有资格编辑哪些修订的其他条件。