2016-12-04 1 views
0

검색 폼이 있으며 특정 목록에서 애완 동물을 허용할지 여부를 선택하고 반환하는 확인란이 필요합니다. 나는 커스텀 라우트, 컨트롤러 메소드 및 뷰를 생성했다. 그러나, 나는 나가하기 위하여 착수 한 무슨을 성취하지 않는다.부울을 위해 DB를 검색 할 체크 박스 - 레일 4

사용자가 Pets Allowed 체크 박스를 클릭 한 다음 검색을 클릭하면 애완 동물이 허용 된 목록 == true가 반환되어야합니다. 나는 그것에 대해 어떻게 가야할지 모르겠다.

이것은 현재 코드이지만 내가 수행 한 것을 달성하지 못합니다. 이것은/pets_allowed로 리다이렉트 될 것이지만 그건 진짜가 아닙니다.

listings_controller :

def pets_allowed 
    @listings = Listing.where(pets: true) 
end 

routes.rb :

get "pets_allowed" => "listings#pets_allowed" 

html.erb :

<div> 
    <%= link_to 'Pets Allowed', pets_allowed_path, :class => 'button btn-transparent' %> 
</div> 
+0

검색 양식 코드 – RSB

답변

2

당신은 아마 form_for 대신 link_to을 사용해야합니다.

def pets_allowed 
    @listings = Listing.where(pets: params[:search_pets][:has_pets]) 
end 

확인란을 선택하지 않습니다 행동

<%= form_for :search_pets, url: pets_allowed_path, method: :get do |f| %> 
    <%= f.check_box :has_pets %> 
<% end %> 

은, 모든 리스팅없는 애완 동물과 그 선택 때 애완 동물이있는 모든 목록을 반환를 반환합니다.

희망 하시겠습니까?