rails cart id显示问题

时间:2014-08-13 18:58:51

标签: ruby-on-rails ruby

我无法将我的购物车图标链接到用户的实际购物车而没有插入确切的数字ID。这是我想要链接到用户购物车显示的代码:< / p>

<li class="navtxt"id='cart-button'><%= link_to(image_tag("cart.png"),@cart)%></li>

目前,它只是暂时闪烁屏幕并将我带回主页的顶部。

我的购物车控制器节目以:

开头
def show
 begin
  @cart = Cart.find(params[:id])

在我的应用程序控制器中使用CurrentCart方法,该方法包含在我的购物车控制器中:

 private

 def current_cart 
   Cart.find(session[:cart_id])
 rescue ActiveRecord::RecordNotFound
   cart = Cart.create
   session[:cart_id] = cart.id
   cart
 end

resources :carts

在routes.rb

有什么见解?谢谢。我有这个开放的,所以如果有任何代码可以帮助我找到解决方案,我会立即使用它。

编辑 - 添加了前面的代码

class CartsController < ApplicationController
  include CurrentCart
  before_action :set_cart, only: [:show, :edit, :update, :destroy]
  rescue_from ActiveRecord::RecordNotFound, with: :invalid_cart
# GET /carts/1
# GET /carts/1.xml 

1 个答案:

答案 0 :(得分:1)

试试这个:

<li class="navtxt"id='cart-button'>
  <%= link_to @cart do %>
    <%= image_tag("cart.png") %>
  <% end %>
</li>

并且由于您希望在导航中显示购物车,因此最好在应用程序控制器中进行设置。您可以通过以下方式完成:

before_filter :set_cart 

def set_cart 
  @cart = current_cart 
end
相关问题