check_box_tag
( )で作成したチェックボックスのリストがあり<%= check_box_tag "user_ids[]", user.id %>
ます。ここで、コントローラーのusers_idsに基づいてすべてのチェックボックスをループし、選択したすべてのユーザーのデータを挿入します。
質問する
1104 次
1 に答える
2
Meltemiが言うように、ルビーで反復する通常の方法はです.each
。あなたの場合、おそらくこのようなもので、フォームを受け取るコントローラーで:
params[:user_ids].each do |user_id|
u = User.find(user_id)
u.do_something_to_that_user #call a method or some such on the user
something_else.users << u #associate that user with something else
end
または、これらすべてを一度に実行する方が効率的であることがよくありますが、その正確な形式はユーザーに対して何をしているかによって異なります。たとえば、チェックしたユーザーをレコードに関連付ける場合は、次のようにします。
Record.user_ids = params[:user_ids]
または、これらすべてのユーザーを何らかの方法で更新する場合は、次のようにします。
User.where(:id => params[:user_id]).update_all(:attribute => some_value)
于 2012-10-16T15:52:39.530 に答える