高度な検索のためにアクティブレコードクエリをモデルに書き込もうとしています。アクティブレコードクエリ - 多くのスルーアソシエーションを持っています
私は企業のモデルを持っており、各企業は、私は現時点では私の検索方法に組み込まれ、次のを持っているカテゴリ化
を通じて多くのカテゴリーがあります。
def find_firms
firms = Firm.order(:name)
firms = firms.where("name like ?", "%#{name}%") if name.present?
firms = firms.categories.find(id: category_id) if category_id.present?
end
私のカテゴリのスキーマは次のようになります。
create_table "categories", :force => true do |t|
t.text "name"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
と私の分類
create_table "categorizations", :force => true do |t|
t.integer "category_id"
t.integer "firm_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
と私の検索フォームビュー
<div class="field">
<%= f.label :category_id, "Practice Area" %><br />
<%= f.collection_select :category_id, Category.order(:name), :id, :name, include_blank: true %>
</div>
私が間違っているの何任意のアイデア?
私はエラーを取得しておくと:
undefined method `categories'
感謝を。
ロス
それは絶対に夢のように動作します!ありがとうございました – RMcNairn