Paw*_*cki 1 validation activerecord ruby-on-rails ruby-on-rails-3
采取以下代码(Rails 3.0.10):
User < AR
has_many :providers
Provider < AR
belongs_to :user
validates_presence_of :user
user = User.new
user.providers.build
# so both models not yet saved but associated with each other
user.valid?
=> false
user.errors
=> {:providers=>["is invalid"]}
user.providers.first.errors
=> {:user_id=>["can't be blank"]}
Run Code Online (Sandbox Code Playgroud)
提供程序为什么看不到它尚未保存的关联用户模型可用?或者换句话说-我该如何处理以便使验证仍然存在?也许我做错了什么?
请注意,我正在寻找一个干净的解决方案,因此建议在Provider模型中进行验证前回调,以将User模型保存到数据库中是不可行的。
使用:inverse_of
class User < ActiveRecord::Base
has_many :providers, :inverse_of => :user
end
class Provider < ActiveRecord::Base
belongs_to :user, :inverse_of => :providers
validates :user, :presence => true
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
526 次 |
最近记录: |