Я пытаюсь применить meta_search к форме, где среди всех атрибутов есть поиск по имени автора. Он хранится как два атрибута "first_name" и "last_name" в авторах таблицы.
Я создал следующий виртуальный атрибут в модели Author:
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"?