我有一個命名作用域(姓名)的名字和姓氏的組合,我想在搜索框中使用它。ruby on rails命名範圍(搜索)
我有下面的代碼:
named_scope :full_name, lambda { |fn| {:joins => :actor, :conditions => ['first_name LIKE ? OR second_name LIKE ?', "%#{fn}%", "%#{fn}%"]} }
def self.search(search)
if search
self.find(:all, :conditions => [ 'full_name LIKE ?', "%#{search}%"])
else
find(:all)
end
end
但是,這並不工作,因爲它提供了以下錯誤:
SQLite3::SQLException: no such column: full_name: SELECT * FROM "actors" WHERE (full_name LIKE '%eli dooley%')
在此先感謝
Houlahan
我嘗試使用 self.full_name(搜索) ,但現在我在嘗試顯示所有的演員時的錯誤: 協會命名爲「演員」沒有被發現;也許你拼錯了嗎?當在索引頁面中顯示所有參與者時,該參與者將在循環中使用。 – user322406 2010-04-21 15:17:36
這確實是一個單獨的問題。您需要在包含該命名範圍的模型類中發佈關聯代碼。 – 2010-04-21 15:31:20