Rails 4.1.6实用Rails / line_items中的NoMethodError - 未定义的方法`cart_url'

时间:2014-10-24 14:07:28

标签: ruby-on-rails ruby ruby-on-rails-4

关于迭代D3:添加按钮的Stack Overflow还有其他几个问题 在使用Rails 4的实用敏捷Web开发中,但是我已经浏览了所有这些,似乎没有解决我的问题。

当我尝试将商品添加到购物车时,我收到以下错误:

enter image description here

下面是我的LineItemController的create方法:

      def create
    @item = Item.find(params[:item_id])
    @line_item = @cart.line_items.build(:item_id => :item_id)

    respond_to do |format|
      if @line_item.save
        format.html { redirect_to @line_item.cart,
          notice: 'Line item was successfully created.' }
        format.json { render action: 'show',
          status: :created, location: @line_item }
      else
        format.html { render action: 'new' }
        format.json { render json: @line_item.errors,
          status: :unprocessable_entity  }
      end
    end
  end

任何帮助都会受到赞赏,我已经有一段时间了。谢谢。

编辑:

这是我的路线档案:

Rails.application.routes.draw do
  resources :users
  resources :items
  resources :line_items

  root 'static_pages#home'
  get 'about'         => 'static_pages#about'
  get 'items'         => 'items#index'
  get 'signup'        => 'users#new'
  get 'login'         => 'sessions#new'
  post 'login'        => 'sessions#create'
  delete 'logout'     => 'sessions#destroy'
  get 'catalog'       => 'catalog#index'

1 个答案:

答案 0 :(得分:0)

您的resources :carts文件中应该有一个config/routes.rb条目。

可能是你跳过教程的那一部分......