我正在尝试创建一个会话。我的行为如下:
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
无法找出最新消息。它第一次运作良好。当我重新启动浏览器时,此错误开始出现。请帮忙!
答案 0 :(得分:2)
您的会话没有:首先检查空虚的购物车钥匙。
试试这个:
session[:cart] ||= {}
答案 1 :(得分:0)
会话[:购物车]为零,以便您收到错误,请检查无条件。