所以,我有一个像书一样的rails应用程序。然后是章节模型。用户需要每天阅读一章。
我有一个章节索引页面,但我想在应用程序的仪表板中创建一个按钮,将用户直接重定向到当天的章节,为用户节省时间。
所以,我需要在按钮中创建一个链接,每24小时更改一次。如何创建每24小时更改为数据库下一条记录的链接?
答案 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)