8

ネストされた属性を持つフォームがあります。私の:reject_if =>ステートメントでは、ネストされたモデルの属性を確認したいと思いfirst_record?ます。たとえば、そのようなメソッドにアクセスする方法はありますか? たとえば、フィールドが空白かどうかを確認するために、送信された属性ハッシュにしかアクセスできないようです。ありがとう!

4

1 に答える 1

7

ドキュメントによるとhttp://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html

あるいは、:reject_if は、メソッドを使用するためのシンボルも受け入れます。

class Member < ActiveRecord::Base
  has_many :posts
  accepts_nested_attributes_for :posts, :reject_if => :new_record?
end

class Member < ActiveRecord::Base
  has_many :posts
  accepts_nested_attributes_for :posts, :reject_if => :reject_posts

  def reject_posts(attributed)
    attributed['title'].blank?
  end
end

これはうまくいくはずです。基本的に、これはカスタム関数では何でもできることを意味します。

于 2012-12-03T13:40:25.217 に答える