【发布时间】:2014-02-06 05:34:44
【问题描述】:
我是 Ruby on Rails 的新手,我正在尝试构建一个与此完全相同的截止日期计算器:(click here)。
从超链接示例中可以看出,我的截止日期计算器将允许用户在表单字段中输入给定的数字,以反映距离截止日期的天数。然后,我的截止日期计算器会将该数字添加到用户选择的给定日期。然后,计算器将根据这两个用户输入打印截止日期的结果。
示例:假设用户收到一封信,说明“您有 45 天的时间从 14 年 2 月 5 日起邮寄对这封信的回复......”并且想要计算等于 45 天之后的日期2014 年 2 月 5 日。用户将输入“45”(天)和“2/5/14”(开始日期)并单击“计算”按钮。然后该网站会显示类似“您的截止日期是 2014 年 3 月 22 日星期六”的内容。所以这就是我到目前为止所拥有的......
我的 app/views/pages/about_page.html.erb 文件包含以下代码块:
<div class="row">
<div class="col-xs-2">
<%= form_tag do %>
<%= number_field_tag 'Days' %>
<p>AFTER</p>
<%= date_select('Start', 'start_date') %>
<%= submit_tag 'Calculate' %>
<% end %>
<div>
<%= @deadline %>
</div>
</div>
</div>
我的 app/assets/controllers/pages_controller.rb 文件包含以下代码块:
class PagesController < ApplicationController
* * * *
def about_page
@days = params[:Days]
@start = params[:Start]
@deadline = 'Print the date that is X days after the start date selected by the user.'
end
* * * *
private
def page_params
params.require(:page).permit(:name, :position, :visible)
end
所以,我的问题是,如何让 Rails 将用户的“:Days”输入添加到用户的“开始”日期输入,然后打印生成的“截止日期”?我一直在无休止地寻找解决方案,但还没有找到任何可以清楚地解释如何计算未来日期的东西,其中用户输入了开始日期和开始日期之后的天数。请帮忙!
【问题讨论】:
标签: ruby-on-rails ruby forms date datetime