わかりましたので、users_controller update アクションにはこのコードがあり、これは本番環境で動作しており、この行が何をしているのか知りたいです
@user.attributes = { 'role_ids' => [] }.merge(params[:user])
これがどのようにrole_idsを設定しているのか理解できません。これを行うためのより良い方法があるかどうか
@user は User であり、.attributes には role_ids が含まれていないため、これはどのように機能しますか ....ここに私の関係があります
class Role < ActiveRecord::Base
has_many :users, :through => :role_users
has_many :role_users
class User < ActiveRecord::Base
has_many :roles, :through => :role_users
has_many :role_users
class RoleUser < ActiveRecord::Base
belongs_to :role
belongs_to :user
end
パラメータは
Parameters: {"utf8"=>"✓", "authenticity_token"=>"GV/BbOZdKn7SkzD8zydceVdwA+fga=", "user"=>{"id"=>"629", "company_id"=>"1", "active"=>"1", "role_ids"=>["1", "3", "1"], "notification_ids"=>["1", "2", "3"]}, "company"=>"11", "id"=>"621"}