我正在学习务实的书架课程。我试着做一个会话计数器。 我的商店控制器是
class StoreController < ApplicationController
def increment_counter
if session[:counter].nil?
session[:counter] = 0
end
session[:counter] += 1
end
def index
@count = increment_counter
@products = Product.all
@cart = current_cart
@time = Time.now
@shown_message = "You've been here #{@count} times" if increment_counter >5
end
end
我的观点是
<h5><p><%= @shown_message %></p></h5>..
直到5次它不起作用。但在它开始算作5,7,9,11之后。 。我的会话有什么问题[:counter]?
答案 0 :(得分:8)
您在行动中两次致电increment_counter
:首先设置@count,然后再次处理@shown_message。
答案 1 :(得分:3)
补充ksol答案。在最后一次通话中使用@count。
def index
@count = increment_counter
@products = Product.all
@cart = current_cart
@time = Time.now
@shown_message = "You've been here #{@count} times" if @count >5
end