发布到Ruby on Rails JSON PUT(Posting to Ruby on Rails JSON PUT)

编程入门 行业动态 更新时间:2024-10-19 06:21:44
发布到Ruby on Rails JSON PUT(Posting to Ruby on Rails JSON PUT)

我试图发布到以下方法/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 Advanced REST客户端发布 ( http://postimg.org/image/fphun12fx/ )

图片http://postimg.org/image/fphun12fx/

Rails一直给我错误说明未找到参数:用户,如何为用户创建参数?

另外,如果我们有参数:user,它对jQuery ajax意味着什么,我将不得不做类似下面的事情?

data:{user:{name:xx,password:xx,password_confirmation:xx}}

I am trying to post to the following method /users.json

Here's my code in 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

and inside my user params

def user_params params.require(:user).permit(:name, :password, :password_confirmation, :avatar) end

I am using chrome Advanced REST client to post (http://postimg.org/image/fphun12fx/)

image http://postimg.org/image/fphun12fx/

Rails kept giving me error stating param not found :user, how do I create the param for user?

Also, if we have the parameter :user, does it mean for jQuery ajax, I would have to do something like the below?

data: { user: {name: xx, password: xx, password_confirmation: xx} }

最满意答案

当你写params.require(:user).permit(:name, :password, :password_confirmation, :avatar)作为强参数意味着你应该将你的参数嵌套在'user'键下,即你的params散列应该看起来像这样:

{ "user"=>{"name"=>"name", "password"=>"password"} }

因此,在您的表单上只需使用rails表单构建器,或者如果您使用form_tag,则在“user”键下嵌套属性。

When you write params.require(:user).permit(:name, :password, :password_confirmation, :avatar) as strong parameters that means you should nest your params under 'user' key, i.e. your params hash should look something like this:

{ "user"=>{"name"=>"name", "password"=>"password"} }

So, on your form simply use rails form builders or if you use a form_tag then nest attributes under the 'user' key.

更多推荐

本文发布于:2023-07-22 09:55:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1219144.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Rails   Ruby   JSON   Posting   PUT

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!