在Rails中页面上的增量计数器

时间:2016-09-24 18:00:44

标签: ruby-on-rails rest

到目前为止,我有这个。我想在每次向计数器#add发送GET请求时递增计数器。我做错了什么?

class CounterController < ApplicationController
  def initialize
    @counter = 0
  end

  def home
  end

  def add
    @counter += 1
  end
end

1 个答案:

答案 0 :(得分:1)

每个get请求都是CounterController的新实例,所以它总是从零开始。这就是为什么无论何时创建像@post这样的实例变量,它都不会在下一个请求中出现。 @counter只是另一个例子。

另一种选择可能是使它成为一个类实例......

class CounterController < ApplicationController

  @counter = 0

  def self.add
    @counter += 1
  end

  def self.counter
    @counter
  end

  def home
  end

  def add
    class.add
  end

  def show_counter
    class.counter
  end

end