2011-01-31 7 views
0

Я застрял в вложенных моделях. У меня есть некоторые вложенные модели habtm. Проблема в том, как я могу фильтровать результаты вложенной модели habtm в представлениях.Rails Nested Model filter

, например:

#Company.rb 
has_many :company_categories 
has_many :categories, :through => :company_categories, :order => 'name' 

#companies/_form.html.erb (in edit mode) 
... 
<%= select_tag :filter_by_category, options_for_select(...) %> 
... 
<%= f.fields_for :company_categories do |builder %> 
    render 'category_fields', :f => builder 
<% end %> 

я хочу, чтобы фильтровать результаты с filter_by_category параметром/

жаль мой древний английский.

ответ

0

Вы можете использовать javascript, чтобы изменить параметры, как только поле filter_by_category изменится. Вы можете легко настроить небольшой скрипт jQuery Ajax, который запрашивает у сервера параметры в зависимости от выбранного значения.

Вы можете прочитать больше о JQuery и это Ajax материал здесь http://api.jquery.com/jQuery.ajax/

+0

спасибо за ответ, но это не вопрос Javascript. Я хочу фильтровать категории со стороны сервера (<% = f.fields_for: company_categories do | builder%> "я имею в виду в этой строке) через filter_by_category param – yalcin

+0

Да, это то, что я имею в виду ... ajax-запрос состоит в том, чтобы отфильтровать их как как только элемент изменится, так что вы попросите сервер дать вам новый список категорий на основе нового выбранного значения. Если у вас есть параметр filter_by_category перед отображением страницы, вы можете получить его внутри коллекции и использовать " options_from_collection_for_select "вспомогательный метод – Hock