0
私はすべての属性の中で著者名による検索であるフォームにmeta_searchを適用しようとしています。これは、テーブルの作成者に2つの属性 "first_name"と "last_name"として格納されます。meta_searchでモデルをトラバースし、仮想属性を参照してください
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_nに条件を適用する場合、それは動作しますame "をここの" or "演算子に渡します。
私は間違っていますか? meta_searchにメソッド "name"を使用させるには?
ドキュメントに記載されている限り、これはスコープの使用で可能です:https://github.com/dogenpunk/meta_search しかし、私はそれを動作させることはできません。スコープの使用法もここで示唆されました(searchlogicの場合): http://stackoverflow.com/questions/2801096/searchlogic-and-virtual-attributes – lyuba
私は現在、これを使用しています: '<%= f.search_field :authors_first_name_or_authors_last_name_contains、:placeholder => "author .."%> ビューの中にはかさばるようですが、 – lyuba
おそらくauthors_name_containsという名前のモデルにスコープを作成する必要がありますか? – jdc