Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails应用程序视图是';我没有展示我想要的_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails应用程序视图是';我没有展示我想要的

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

我可能在做一些非常愚蠢的事情,但我不确定我做错了什么。 我制作了一个计数器,可以查看用户在当前会话中在索引页上的次数

以下内容位于store_controller.rb中

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