Ruby on rails Rails应用程序视图是';我没有展示我想要的
我可能在做一些非常愚蠢的事情,但我不确定我做错了什么。 我制作了一个计数器,可以查看用户在当前会话中在索引页上的次数 以下内容位于store_controller.rb中Ruby on rails Rails应用程序视图是';我没有展示我想要的,ruby-on-rails,Ruby On Rails,我可能在做一些非常愚蠢的事情,但我不确定我做错了什么。 我制作了一个计数器,可以查看用户在当前会话中在索引页上的次数 以下内容位于store_controller.rb中 class StoreController < ApplicationController def increment_counter if session[:counter].nil? session[:counter] = 0 end session[:counter] += 1 end
class StoreController < ApplicationController
def increment_counter
if session[:counter].nil?
session[:counter] = 0
end
session[:counter] += 1
end
def index
@products = Product.order(:title)
@counter = increment_counter
@counter_msg = "You've visited this page #{pluralize(@counter, "time")}"
end
end
class StoreController
下面是application.html.erb布局视图
<%= @counter_msg %>
当然还有其他代码,但这似乎与现在无关
@counter_msg中根本不显示任何内容
我做错了什么?
谢谢。看起来您在错误的位置调用了该方法,如果您想显示
@counter\u msg
,则应在应用程序控制器中定义该方法
包括ActionView::Helpers::TextHelper
进入控制器
此外,当前代码告诉您可以在存储
索引
页面中使用变量 pluralize方法是视图助手,应该从视图内部调用。此外,视图正是为此目的而设计的,因此无论如何,视图中都应该有一个显示字符串
<%= "You've visited this page #{pluralize(@counter, "time")}" %>
从控制器中删除@counter\u msg行。复数化是一种辅助方法。必须在application.html.erb中使用下面的行
<%= "You've visited this page #{pluralize(@counter, "time")}" %>
我已经使用了这些建议,但是计数器现在只显示0,没有任何增量。
include ActionView::Helpers::TextHelper