UsersController #create中的ActiveModel ForbiddenAttributesError

时间:2017-03-12 16:33:13

标签: ruby-on-rails

我知道这个问题已被问过一百万次,但建议的解决方案并没有为我解决任何问题。

def create
@user = User.new(user_params)   
if @user.save
else
  render 'new'
end
end

起初我有这些参数:

private

def user_params
 params.require(:user).permit(:firstname, :name, :email, :password,
                             :password_confirmation, role_ids: [])
end

然后我尝试允许每个参数:

private

def user_params
 params.require(:user).permit!
end

然而,结果是一样的:

UsersController中的ActiveModel :: ForbiddenAttributesError #create

  def sanitize_for_mass_assignment(attributes)
    if attributes.respond_to?(:permitted?) && !attributes.permitted?
      raise ActiveModel::ForbiddenAttributesError
    else
      attributes
    end

我缺少什么?!

ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]

Rails 4.2.2

1 个答案:

答案 0 :(得分:-2)

请务必检查您的gem文件。可能在那里有一些不妥之处,我自己有问题