在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