在范围内从belongs_to获取模型属性

时间:2018-06-25 23:38:39

标签: ruby-on-rails ruby

说我有一个Person模型和一个Book。一个人属于一本书。

我在Book模型中定义了此范围:

belongs_to :person

scope :by_title, ->(title) do 
 fake_query.where(title: title)
end

现在,当我使用此示波器时,

@person = Person.first
@person.todays_books.by_title('test-123').first

基本上,如何在实际范围内访问@person属性,因此我可以执行以下操作:

scope :by_title, ->(title) do
 fake_query.where(title: title, person_id: @person)
end

我知道我可以将其作为参数传递,例如->(title, @person),但我知道可能有更好的方法。

谢谢

1 个答案:

答案 0 :(得分:0)

当您链接@ person.todays_books时,您已经在寻找属于该人的书,因此您不需要做的事