Я пытаюсь условно пометить check_box_tag как отмечено в зависимости от переменной экземпляра @ratings_filter, которая поступает с сервера. Я не могу использовать Javascript, поэтому то, что я делаю на контроллере, заключается в создании экземпляра @ratings_filter, устанавливающего его равным сеансу [: рейтинги]. Затем в представлении я рассказываю функции check_box_tag, чтобы установить это поле как отмеченное либо, если @ratings_filter равно nil (по умолчанию он должен отображать все), или если его значение в хеш истинно (что означает, что он был помечен пользователем, ergo должно отображаться)Ruby on Rails - условная проверка check_box_tag
= form_tag movies_path, :id => :ratings_form, :method => :get do
Include:
- @all_ratings.each do |rating|
= rating
= check_box_tag "ratings[#{rating}]", (@ratings_filter.nil? or @ratings_filter[rating] == true ? true : false) , :id => "ratings_#{rating}"
= submit_tag 'Refresh', :id => 'ratings_submit'
Этот подход не работает, и я не могу найти проблему. Любая помощь будет действительно оценена. Благодарю.
': идентификатор =>: рейтинги _ # {Рейтинг}' это даст вам только ': символ ratings_' –
Заменены но та же проблема: = check_box_tag«рейтинги [# {рейтинг }] ", (@ ratings_filter.nil? или @ratings_filter [rating] == true? true: false),: id =>" ratings _ # {rating} " – FranGoitia