在railscast #37他們顯示了一個簡單的搜索,我試圖實現。我有以下關聯:Rails搜索查詢相關模型
class Owner < ActiveRecord::Base
has_many :dogs
end
class Dog < ActiveRecord::Base
belongs_to :owner
end
狗模型有一個屬性「名稱」,所有者也是如此。我需要能夠過濾狗列表,如果您輸入「Fido」(狗)或「Bob」(所有者),Fido將出現在列表中。下面是搜索當前如何設置:
模型dog.rb:
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
這隻會返回搜索匹配狗的名字條款(所有者名稱被忽略)
我試圖改變它是這樣的:
def self.search(search)
if search
find(:all, :conditions => ['name LIKE ? or owner.name LIKE ?', "%#{search}%", "%#{search}%"])
else
find(:all)
end
end
然而說是沒有所有者專欄。如何更改搜索條件以便能夠搜索狗名和所有者姓名?
軌版本,你使用的是哪個? – MrYoshiji