我正在尝试将meta_search应用于一个表单,其中所有属性中的一个是作者姓名的搜索。它存储为表authors中的两个属性“first_name”和“last_name”。 我在作者模型中创建了以下虚拟属性:
search_methods :name
def name
self.first_name + " " + self.last_name
end
我正在搜索的作者和书籍模型是这样的:
class Book < ActiveRecord::Base
has_many :authors
..
class Author < ActiveRecord::Base
belongs_to :book
..
现在,当我尝试在视图中粘贴以下输入时,我收到错误:
<%= f.text_field :authors_name_contains, :placeholder => "author.." %>
但如果我通过视图中的“或”运算符将条件应用于属性“first_name”和“last_name”,则它可以正常工作。
我做错了什么?如何让meta_search使用方法“name”?
答案 0 :(得分:0)
我认为你不能那样做。如果我正确理解meta_search,它会查看ActiveRecord生成的属性(或者你的后端是什么),所以它不会知道你的虚拟属性。