我有一个非常基本的"问题,解释简单但很难解决。
在我的主页上,我向用户显示他看到我们可以称为Alpha的页面的次数。
<div>
<%= link_to "page alpha",
page_alpha_path(deal) %> <br/>
You have seen this page alpha #{deal.number_of_times_viewed} times
</div>
有效。但我希望能够做到以下几点:
正如你所看到的那样,按下&#39;按下&#39;页面已重新加载次数,它已触发对数据库表的调用,以重新检查他看到页面的次数。
今天不幸的是,无论我怎么做,他仍然会看到&#34; 4 次&#34;
怎么做? 我可以在纯Ruby / Rails中执行此操作,还是需要一些javascript或gon Watch?或者也许是一些Rails UJS?
答案 0 :(得分:1)
尝试使用call_back
清除您的响应缓存。它会起作用。
class ApplicationController < ActionController::Base
before_filter :set_cache_headers
private
def set_cache_headers
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
end
end
答案 1 :(得分:0)
尝试使用此代码:
class ApplicationController < ActionController::Base
before_filter :pages_count
def pages_count
if current_user
current_user.update_attributes(:pages_count=>current_user.pages_count+ 1)
end
end