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

时间:2016-05-23 06:31:31

标签: ruby-on-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

1 个答案:

答案 0 :(得分:0)

show的结构是这样的:

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

所以你可以简单地使用它来获取它:

params[:id]

更新:

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