链接每24小时更改一次?

时间:2016-02-04 19:37:15

标签: ruby-on-rails ruby

所以,我有一个像书一样的rails应用程序。然后是章节模型。用户需要每天阅读一章。

我有一个章节索引页面,但我想在应用程序的仪表板中创建一个按钮,将用户直接重定向到当天的章节,为用户节省时间。

所以,我需要在按钮中创建一个链接,每24小时更改一次。如何创建每24小时更改为数据库下一条记录的链接?

2 个答案:

答案 0 :(得分:1)

确切的答案取决于您的实施。但是,这里有一些提示:

  • 如果您将开始日期存储在某处,则可以使用以下内容轻松获取两个日期之间的天数:

     today = Date.today
     start_date = Book.start_date # this will depend on implementation
     @current_chapter = today - start_date + 1 # we add 1 because the first chapter is 1, not 0
    

    然后您的观点可以执行<%= link_to "Go to today's chapter", controller: :chapter, action: :show, id: @current_chapter %>

  • 之类的操作
  • 如果图书同时为所有人开始,那么您可能只将其存储在图书对象上

  • 如果图书在不同时间为不同的人开始,您可能已经有了一个在用户和图书之间创建关系的对象(例如UserBook)。在这种情况下,您可能应该在此处创建start_date字段。

答案 1 :(得分:0)

我会使用Date,因为它每天都在变化。

您为第一章保存date,为了示例的原因,它是

a = Date.new(2016, 1, 1) # January 1st 2016
b = Date.today # every day it is diferent
# b = February 4th 2016
c = (b - a).to_i # c = 34
# 34 days have passed since January 1st
# tomorow it will be 35

您可以在链接中使用c作为记录,例如

@chapter = Chapter.find(c)
link_to "Chapter #{c}", chapter_path(@chapter)