Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails中没有隐藏字段的情况下向订单添加项目?_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 如何在Rails中没有隐藏字段的情况下向订单添加项目?

Ruby on rails 如何在Rails中没有隐藏字段的情况下向订单添加项目?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,在我的应用程序中,当用户单击产品旁边的“订单”链接时,Rails会将他带到一个表单,在那里他可以指定他想要的数量,等等 new_order_path(product: product) 该页面有一个隐藏字段,该字段接受一个参数,以了解我们正在向新订单添加的产品 <%= f.hidden_field :product_id, :value => @product.id %> 您可以将产品id存储在会话哈希中: def new @order = Order.new @p

在我的应用程序中,当用户单击产品旁边的“订单”链接时,Rails会将他带到一个表单,在那里他可以指定他想要的数量,等等

new_order_path(product: product)
该页面有一个隐藏字段,该字段接受一个参数,以了解我们正在向新订单添加的产品

<%= f.hidden_field :product_id, :value => @product.id %>

您可以将产品id存储在会话哈希中:

def new
  @order = Order.new
  @product = Product.find_by(params[:id])
  session[:product_id] = @product.id
end

def create
  @product = Product.find_by(session[:product_id])
  ...
end
def new
  @order = Order.new
  @product = Product.find_by(params[:id])
  session[:product_id] = @product.id
end

def create
  @product = Product.find_by(session[:product_id])
  ...
end