ruby-on-rails – 访问POST参数

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 访问POST参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我使用我的脚手架创建rails应用程序添加新的“产品”时,以下行正确添加了新产品
@product = Product.new(params[:product])

当我尝试使用以下URL添加新产品时(尝试从java程序中发布数据).

http://localhost:3000/products?serial=555&value=111

产品未创建,但我可以访问“serial”和“value”值,如下所示:

@product = Product.new
 @product.serial=params[:serial]
 @product.value=params[:value]
 @product.save

为了进一步混淆我,如果我使用rails应用程序添加新产品,则params [:serial]和params [:value]变量为空.

有人可以指出我正确的方向.

谢谢

解决方法

Model.new方法采用哈希.

params [:product]实际上包含类似{:serial => 555,:value => 111}

您想要使用的网址是:

http://localhost:3000/products?product[serial]=555&product[value]=111

(确保您确实使用POST)

如果您想保留当前的网址方案,则必须使用:

@product = Product.new({:serial => params[:serial],:value => params[:value]})

您还可以使用以下命令将其打印到控制台,以确定params内部的可用内容

p params

祝好运!

猜你在找的Ruby相关文章