如何在正在构建的对象的方法中获取构建关联的id

时间:2014-05-08 13:32:23

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord reactivevalidatedobject

我有这段代码:

bar = Bar.new
bar.build_foo

在foo模型中我有:

validates :baz, :presence => true, :if lambda { self.bar.terminal.is_active == true }

在lambda中,self.bar是nil我理解但是有没有办法在lambda块中获取关联栏?

1 个答案:

答案 0 :(得分:1)

您需要指定反向关联:

class Bar < ActiveRecord::Base
  has_one :foo, inverse_of: :bar
end

class Foo < ActiveRecord::Base
  belongs_to :bar, inverse_of: :foo
end