我想制作一个rails点击计数器,类似于http://jenniferdewalt.com/click_counter/buttons/1 谢谢!我想知道从哪里开始,以及它是如何工作的。如果您需要更多详细信息,请与我们联系。
答案 0 :(得分:1)
这是一件相当简单的事情,使用Rails执行此操作可能会有些过分。 jenniferdewalt.com
示例只使用了javascript和一些Google API,代码被混淆了,所以我无法看到它是如何工作的。当不同的客户点击按钮等时,我不知道柜台是否需要为客户更新。
要在Rails中创建计数器,我将为计数器创建一个具有一个整数属性的模型,并且在数据库中只有一个模型实例。然后控制器将为视图获取该模型。单击按钮时,视图会将AJAX请求发送回控制器。控制器将递增计数器并保存计数器对象并将新计数返回到视图。
答案 1 :(得分:0)
如Toby Kenobi
所述,这将是一个相对简单的实现。
你需要两个元素:
1)“计数”机制(在这种情况下只是
before_action
)2)存储(
Model
我们可以绑定到Redis
)
你实现它的方式是这样的:
#config/routes.rb
root "application#index"
#app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
before_action :click, only: :index
def index
@clicks = Click.sum
end
private
def click
Click.create
end
end
这将允许您使用以下内容:
<%= button_to "Click Me", root_path, method: :get %>
这必须伴随着“存储”系统:
#app/models/click.rb
class Click < ActiveRecord::Base
def self.sum
$redis.get "count"
end
def self.create value=1
$redis.incr "count", value
end
end
Redis实际上有一个counter
模式,您可以在这里阅读: