好的,所以我有我的 users_controller 更新操作有这个代码,这是在生产和工作中,我想知道这条线在做什么
@user.attributes = { 'role_ids' => [] }.merge(params[:user])
而且我不明白这是如何设置 role_ids 以及是否有更好的方法来做到这一点
@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"}