ProductCategoriesController #index中的NoMethodError

时间:2013-12-18 06:33:34

标签: ruby-on-rails

我正在尝试创建一个会话。我的行为如下:

class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception

  def prepare_cart
    session[:cart] = {} if session[:cart].empty?
  end
end

为此我收到错误:

NoMethodError in ProductCategoriesController#index 
undefined method `empty?' for nil:NilClass

无法找出最新消息。它第一次运作良好。当我重新启动浏览器时,此错误开始出现。请帮忙!

2 个答案:

答案 0 :(得分:2)

您的会话没有:首先检查空虚的购物车钥匙。

试试这个:

session[:cart] ||= {}

答案 1 :(得分:0)

会话[:购物车]为零,以便您收到错误,请检查无条件。