回答:
http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates_presence_ofを使用できますvalidates_presence_of
class A < ActiveRecord::Base
has_many :bs
validates_presence_of :bs
end
または単にvalidates
http://apidock.com/rails/ActiveModel/Validations/ClassMethods/validates
class A < ActiveRecord::Base
has_many :bs
validates :bs, :presence => true
end
あなたが使用する場合でも、それにバグがあるaccepts_nested_attributes_for
と:allow_destroy => true
:ネストされたモデルと親の検証。このトピックでは、解決策を見つけることができます。
-------- Rails 4 ------------
単純なvalidates
presence
私のために働いた
class Profile < ActiveRecord::Base
belongs_to :user
validates :user, presence: true
end
class User < ActiveRecord::Base
has_one :profile
end
このように、Profile.create
今は失敗します。をuser.create_profile
保存する前に、ユーザーを使用または関連付ける必要がありますprofile
。
validates_existence_of
(プラグインである)との関連付けを検証できます:
このブログエントリのスニペットの例:
class Tagging < ActiveRecord::Base
belongs_to :tag
belongs_to :taggable, :polymorphic => true
validates_existence_of :tag, :taggable
belongs_to :user
validates_existence_of :user, :allow_nil => true
end
または、を使用できますvalidates_associated
。ファイサルのコメントでノート答え以下、validates_associated
チェック関連するオブジェクトは、関連するクラスの検証を実行して、有効である場合。存在を確認しません。また、nilの関連付けは有効と見なされることに注意することも重要です。
validates
likevalid: true
に追加のオプションを渡すことができればいいのではないでしょうかvalidates_associated
。