我的数据库中有一个问题我有一个名为members的表,并且有两个字段start_date和end_date..from表格的人可以输入开始日期,从那里我想添加三个月的start_date给end_date < / p>
e.g
@member.end_date = params[:start_date] + 3months
有人可以帮我这个..顺便说一句,使用Rails3 感谢
答案 0 :(得分:3)
假设params[:start_date]
是Time
或Date
对象,您的示例几乎是正确的。您只需使用3.months
而不是3months
。
@member.end_date = params[:start_date] + 3.months
顺便说一下,这个逻辑可能应该存在于模型中(你的代码看起来就像你在控制器中这样做了)......
class Member < ActiveRecord::Base
before_save :set_end_date
private
def set_end_date
self.end_date = self.start_date + 3.months
end
end
答案 1 :(得分:1)
你的语法中只缺少一个点。
@member.end_date = params[:start_date] + 3.months
以下是irb(rails console)中的一个示例:
$ rails c
Loading development environment (Rails 3.0.3)
> start_date = Time.now
=> 2011-01-29 17:18:58 +0000
> end_date = start_date + 3.months
=> 2011-04-29 17:18:58 +0100