Jay*_*ane 13 devise strong-parameters ruby-on-rails-4
我正试图通过JSON注册一个设备用户但是继续得到一个 ActiveModel::ForbiddenAttributesError
class Api::V1::RegistrationsController < ApplicationController
skip_before_filter :verify_authenticity_token
respond_to :json
def create
user = User.new(params[:user])
if user.save
render :json => user.as_json(:auth_token=>user.authentication_token, :email=>user.email), :status=>201
return
else
warden.custom_failure!
render :json => user.errors, :status=>422
end
end
def user_params
params.require(:user).permit(:email, :password)
end
end
Run Code Online (Sandbox Code Playgroud)
这是我的JSON请求:
Processing by Api::V1::RegistrationsController#create as JSON
Parameters: {"user"=>{"email"=>"jayson@jayson.com", "password"=>"[FILTERED]"}, "registration"=>{"user"=>{"email"=>"jayson@jayson.com", "password"=>"[FILTERED]"}}}
Run Code Online (Sandbox Code Playgroud)
我意识到这与强参数有关,但还没有破解它.
jua*_*tas 11
我会改变:
user = User.new(params[:user])
Run Code Online (Sandbox Code Playgroud)
有:
user = User.new(user_params)
Run Code Online (Sandbox Code Playgroud)
来自docs:
# This will raise an ActiveModel::ForbiddenAttributes exception because it's using mass assignment
# without an explicit permit step.
def create
Person.create(params[:person])
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8182 次 |
| 最近记录: |