如何在"show"中访问当前对象的 id?



我是 rails 的新手,所以请耐心等待。我添加了一个指向"show"页面的链接,该链接应该获取您当前页面的id,并将其与其他一些数据一起添加到另一个模型中的条目中。如何在控制器中访问此id

假设我在/products/1如何获得"1"?所有获取当前链接的尝试都会生成末尾没有参数的链接。

谢谢你的时间。

法典:这是我的行动路线:

get 'added' => 'products#add_to_cart'

我在show.html.erb中使用的链接

<%= link_to "Add to cart", {:controller => "products", :action => "add_to_cart", :product => @product.id}%>

和动作本身

  def add_to_cart
    @cart = Cart.new
    @cart.username = current_user.id
    @cart.product_name = params[:id]
    @cart.price = 100
    @cart.amount = 1
    @cart.save
    @products = Product.all
    render "index"
  end

show 的结构是这样的:

get '/products/:id', to: 'products#show'

因此,您可以简单地使用以下方法获取它:

params[:id]

更新:

在上面的问题更新中,而不是使用: params[:id]它应该使用: params[:product]

最新更新