你好我有两个带有has_one关联的模型。我需要使用委托字段进行搜索。
**Model 1:**
class Reservation < ActiveRecord::Base
belongs_to :content
delegate :type, :title, :to => :content
end
**Model 2:**
class Content < ActiveRecord::Base
has_one :reservation
end
以下查询正常,因为委托:
reservations = Reservation.last
reservations.title
~ Content Load (0.6ms) SELECT `contents`.* FROM `contents` WHERE `contents`.`id` = 95 LIMIT 1
=> "Birthday Party"
现在我需要使用委托字段进行查询:
reservations = Reservation.where("title = ?","some_title")
它返回错误:
Unknown column 'title' in 'where clause'
我该如何解决这个问题?那是在做正确的方式吗?感谢您阅读我的问题。
答案 0 :(得分:1)
使用joins
和where
可以解决问题。但不确定这是否是你想要的。
reservations = Reservation.joins(:content).where("contents.title = ?","some_title")