1

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 の未定義メソッド `[]'

何か案が?

4

1 に答える 1

0

解決しました。

値が配列内に存在するかどうかを確認する必要がありました。

= check_box_tag "user[interested_list][]", interest, session[:interested_list].include?(interest)
于 2012-12-03T18:41:26.747 に答える