Ruby on rails 在Rails中编辑表单提交的参数
我的应用程序中有一个表单,它在提交时创建Ruby on rails 在Rails中编辑表单提交的参数,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我的应用程序中有一个表单,它在提交时创建订单参数,如下所示 {"vendor_number"=>"200", "received_date"=>"2014-08-08", "po_number"=>"aaaa", "order_status"=>"-2", "shop_id"=>"2", "order_number"=>"12953", "shop_number"=>""} 在我的控制器内的创建函数中,我试图像这样编辑店铺号 def create
订单参数
,如下所示
{"vendor_number"=>"200", "received_date"=>"2014-08-08", "po_number"=>"aaaa", "order_status"=>"-2", "shop_id"=>"2", "order_number"=>"12953", "shop_number"=>""}
在我的控制器内的创建函数中,我试图像这样编辑店铺号
def create
p "------------------"
order_params[:shop_number] = 4
p order_params
p order_params[:shop_number]
p "------------------"
@order = Order.new(order_params)
respond_to do |format|
if @order.save
format.html { redirect_to '/purchase', notice: 'Order was successfully created.' }
else
format.html { render 'new' }
end
end
end
但order_params[:shop_number]仍未更新。。请帮忙。这是正确的方法吗?试试这个
@order = Order.new(order_params)
@order.shop_number = 4
if @order.save
......
有三种最简单的方法: 一是: 您可以使用隐藏字段在表单中设置店铺号
f.hidden_field :shop_number, value: (shop_number_variable || 4) #what ever you want
二是:
如nithin所述
@order = Order.new(order_params)
@order.shop_number = (shop_number_variable || 4) #what ever you want
@order.save
三是:
您可以使用before_过滤器。如保存前或创建前等