Rails – 如何在不重新加载页面的情况下刷新页面?
Rails – 如何在不重新加载页面的情况下刷新页面?
我正在构建一个应用程序,它具有每次人们访问该页面时都会发出随机数(随机记录)的function,但问题是当用户访问该页面时,会给出一个随机数,但该数字会发生变化再次,如果用户刷新页面。
即使用户刷新页面或返回该页面时,如何保留该随机数,随机数保持不变。
我想在浏览器中禁用刷新function会阻止用户刷新页面,从而阻止他们更改随机数,但在研究之后,看起来禁用刷新function似乎是一个好主意。
有没有其他方法可以实现它?
—- —-更新
我试过了
#posts_controller.rb def new @random = cookies[:stuff] ||= Stuff.random end
并且在我的视图中调用@random.content
,因为我只想要Stuff
模型的内容,第一次没问题但是当我刷新页面时,它为我提供了undefined method 'content' for "#":String
什么事了?
您可以在控制器操作中执行此操作:
# ex. app/controllers/index_controller.rb def index session[:random] ||= rand(10000) end
这将生成0到10000之间的随机数,并将其保存在用户的会话中 , 前提是它之前尚未存在。 这意味着在关闭浏览器之前 ,每个特定用户都是一样的。
如果您想在关闭浏览器后仍然存在,那么您可以使用cookie代替:
cookies[:random] ||= rand(10000)
您可以通过任何自定义方法替换rand(10000)
调用。