У меня есть страница, на которую я хотел бы ссылаться и фильтровать все записи, где логический атрибут является истинным.Rails 4 Filter Boolean True
<div class="filter btn btn-default btn-directory active"><%= link_to "Accepting", people_path(:filter_by => :search == true), {:method => :get} %></div>
Это не несет никаких ошибок, но оно не дает результатов.
От контроллера:
def index
@people = Person.all
if params[:filter_by]
@people = Person.where(:position => params[:filter_by])
else
@people = Person.all
end
end
Этот синтаксис 'people_path (: filter_by =>: search == true)' просто добавляет '? Filer_by = false' к вашим параметрам запроса - вероятно, не то, что вы ожидаете. Можете ли вы включить более подробную информацию о своем коде зрения/контроллере и о том, что вы пытаетесь сделать? Я предполагаю, что вы пытаетесь установить ссылку на список всех людей, отфильтрованных некоторыми параметрами? –
Я добавил в текст контроллера для просмотра. Теперь я вижу, что я забыл о тексте filter_by в контроллере. Могу ли я настроить оператор filer_by IF с помощью 'elsif' для атрибута' search'? И да, вы правы, я пытаюсь отфильтровать индексную страницу контроллера, чтобы перечислять только людей, где 'search == true' – lostrennie