2016-12-04 2 views
0

У меня есть форма поиска, и мне нужен флажок, который будет выбирать, а затем возвращать ли конкретный список домашних животных. Я создал настраиваемый маршрут, метод контроллера и erb в представлении. Однако я не выполняю то, что я собираюсь сделать.Флажок, который будет искать БД для boolean - 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.

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

В настоящее время в действии,

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

Если флажок не установлен, он будет возвращать все списки без каких-либо домашних животных, и когда его проверили это будет возвращать все списки, которые имеют домашних животных.

Надеюсь, что это поможет!

Смежные вопросы