0

ユーザーが登録できるRailsアプリがあります。ユーザーは、従いたい複数の音楽スタイルを持つことができます (多対多の関連付け)。

これで、新しいユーザーがフォームに到達すると、デフォルトですべての音楽スタイルがチェックされているはずです。しかし、既存のユーザーが戻ってくると (同じフォームが編集ページで使用されます)、プロファイルで有効になっている音楽スタイルのみをチェックする必要があります。これはコントローラーで設定する必要があると思いますが、新しいユーザーのすべての音楽スタイルを設定するにはどうすればよいですか?

フォームのコードは次のとおりです。

<% MusicStyle.all.each do |m| %>
  <%= check_box_tag('user[music_style_ids][]', m.id, @user.music_styles.include?(m)) %>
  <label for="<%= m.id %>"><%= m.name %></label><br/>
<% end %>

あなたの助けは大歓迎です!

4

1 に答える 1

0

を作成するとき@user、作成する新しいレコードにすべての音楽スタイルを追加できます。これにより、フォームが正しく入力されます。

または、@user.new_record?これが新しいレコードであるかどうかを判断し、それに応じてチェックボックス タグを生成するために使用することもできます。

于 2012-09-25T14:26:28.367 に答える