我想发布到以下方法/users.json
这是我在Ruby on Rails中的代码
# POST /users
# POST /users.json
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to @user, notice: 'User was successfully created.' }
format.json { render action: 'show', status: :created, location: @user }
else
format.html { render action: 'new' }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
并在我的用户参数内
def user_params
params.require(:user).permit(:name, :password, :password_confirmation, :avatar)
end
我正在使用Chrome高级REST客户端发布(http://postimg.org/image/fphun12fx/)
image http://postimg.org/image/fphun12fx/
Rails一直给我错误说明未找到参数:用户,如何为用户创建参数?
另外,如果我们有参数:user,它对jQuery ajax意味着什么,我必须做类似下面的事情?
data:{user:{name:xx,password:xx,password_confirmation:xx}}
答案 0 :(得分:0)
当您将params.require(:user).permit(:name, :password, :password_confirmation, :avatar)
写为强参数时,意味着您应将params嵌套在“user”键下,即您的params散列应如下所示:
{ "user"=>{"name"=>"name", "password"=>"password"} }
因此,在您的表单上只需使用rails表单构建器,或者如果您使用form_tag,则在“user”键下嵌套属性。