ActionController :: UnfilteredParameters(无法将未经许可的参数转换为哈希) - Rails 5

时间:2017-05-29 03:39:05

标签: ruby-on-rails ruby ruby-on-rails-5.1

我有这个错误,但不太确定如何解决它。我有一个API版本模块VI,我的usercontroller模块就像这样

class Api::V1::UsersController < ApplicationController
  def register
    ap params
  end

  def user_params
    params.require(:user).permit(
      :email, :password,:password_confirmation, :username, :name, :fb_id, :picture, :access_token, :reset_password_token,
      :sign_in_count, :authenticatable_salt, :current_sign_in_at, :last_sign_in_at, :current_sign_in_ip, :last_sign_in_ip
    )
  end
end

我有一个注册功能,每次我想记录参数时,我都会收到错误

  

ActionController :: UnfilteredParameters(无法转换未经许可的   参数哈希)

由于我已经允许我的用户模型的属性,因此不确定如何解决这个问题。

我没有包括gem strong_parameters但不确定我是否必须,因为我不认为我必须包括它。

我知道允许这些属性对Rails 4有用,不知道为什么它不能用于Rails 5.我是否还需要在我的模型上做任何事情?

1 个答案:

答案 0 :(得分:3)

您创建了方法user_params,但在register操作中使用的是params(即未过滤的参数)。

所以改变这个:

def register
  ap params
end

到此:

def register
  ap user_params
end