我正在尝试将 meta_search 应用于一个表单,其中所有属性中的一个是按作者姓名进行的搜索。它在表 authors 中存储为两个属性“first_name”和“last_name”。我在 Author 模型中创建了以下虚拟属性:
search_methods :name
def name
self.first_name + " " + self.last_name
end
我正在搜索的 Authors 和 Books 模型是这样关联的:
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 使用方法“名称”?