Raj*_*oit 9 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2 rails-activerecord
您好,我有两个具有 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
Run Code Online (Sandbox Code Playgroud)
由于委托,以下查询工作正常:
reservations = Reservation.last
reservations.title
~ Content Load (0.6ms) SELECT `contents`.* FROM `contents` WHERE `contents`.`id` = 95 LIMIT 1
=> "Birthday Party"
Run Code Online (Sandbox Code Playgroud)
现在我需要使用委托字段进行查询:
reservations = Reservation.where("title = ?","some_title")
Run Code Online (Sandbox Code Playgroud)
它返回错误:
Unknown column 'title' in 'where clause'
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我这样做的方式正确吗?感谢您阅读我的问题。
问题可以通过使用joins和来解决where。但不确定这是否是您正在寻找的。
reservations = Reservation.joins(:content).where("contents.title = ?","some_title")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4292 次 |
| 最近记录: |