2016-12-04 2 views
0

私は検索フォームを持っており、特定のリストがペットを許可するかどうかを選択して返すチェックボックスが必要です。私はカスタムルート、コントローラメソッドを作成し、ビュー内でerbを作成しました。しかし、私は何をすべきかを成し遂げていません。ブール値のDBを検索するチェックボックス - Rails 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 %> 

は、それがすべてのリスト無しとし、そのチェックされたとき、それはペットを飼っていすべてのリストを返しますが返されます。

希望に役立ちます!

関連する問題