【发布时间】:2014-11-27 13:15:13
【问题描述】:
我正在尝试根据来自服务器的实例变量 @ratings_filter 有条件地将 check_box_tag 标记为已检查。我不能使用 Javascript,所以我在控制器上做的是实例化 @ratings_filter 设置它等于 session[:ratings]。然后在视图中,我告诉 check_box_tag 函数将框设置为标记,如果 @ratings_filter 为 nil(默认情况下,它应该显示全部)或者如果它的哈希值为 true(这意味着它被用户标记,因此应该显示)
= 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'
这种方法不起作用,我找不到问题所在。 任何帮助将非常感激。谢谢。
【问题讨论】:
-
:id => :ratings_#{rating}这只会给你:ratings_符号 -
替换但同样的问题:= check_box_tag "ratings[#{rating}]", (@ratings_filter.nil? or @ratings_filter[rating] == true ? true : false) , :id => “评分_#{评分}”
标签: ruby-on-rails forms model-view-controller