设计form_for,如何使用check_box_tag数组

时间:2012-12-03 16:26:12

标签: ruby-on-rails acts-as-taggable-on

我使用acts-as-taggable-on来保存多个用户兴趣。我尝试在注册表单上显示一个固定的复选框列表。以下代码有效。

= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
%p
  - ["music","art","movies"].each do |interest|
    = check_box_tag "user[interested_list][]", interest

问题是,当点击“提交”并且由于某些字段丢失而导致页面重新加载时,我看不到先前选中的复选框,它们都被重置。

我知道我错过了这个价值,但我一直在尝试使用类似的东西,但它不起作用

= check_box_tag "user[interested_list][]", interest, params[:user][:interested_list][interest]

我收到以下错误

未定义的方法`[]'为nil:NilClass

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

解决。

我只需要检查数组中是否存在该值。

= check_box_tag "user[interested_list][]", interest, session[:interested_list].include?(interest)