2011-01-31 4 views
0

중첩 모델에 집착했습니다. 중첩 된 habtm 모델이 있습니다. 문제는 뷰에서 habtm 중첩 된 모델 결과를 필터링하는 방법입니다. 예를 들어Rails 중첩 모델 필터

:

#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

filter_by_category 입력란이 변경되는 즉시 자바 스크립트를 사용하여 옵션을 변경할 수 있습니다. 선택한 값에 따라 서버에 옵션을 요청하는 작은 jQuery Ajax 스크립트를 쉽게 설정할 수 있습니다.

당신은 jQuery를에 대한 자세한 내용을 읽을 수 있으며 회신 http://api.jquery.com/jQuery.ajax/

+0

덕분에 여기 아약스 물건 그러나 이것은 자바 스크립트 질문이 아니다. filter_by_category 매개 변수를 통해 서버 쪽 (<% = f.fields_for : company_categories do | builder %> "나는이 줄에서 의미합니다)의 범주를 필터링하고 싶습니다. – yalcin

+0

그래, 그게 ... 아약스 요청은 다음과 같이 필터링합니다. 요소가 변경됨에 따라 새롭게 선택된 값을 기반으로 새 범주의 목록을 제공하도록 서버에 요청합니다. 페이지를 렌더링하기 전에 filter_by_category 매개 변수가있는 경우 컬렉션 안에 넣고 " options_from_collection_for_select "도우미 메서드 – Hock