2011-01-29 54 views
1

我在我的數據庫中有一個問題我有一個名爲成員的表,並有兩個字段start_date和end_date..from窗體人們可以輸入開始日期,從那裏我想添加三個月start_date給END_DATE保存結束日期

@member.end_date = params[:start_date] + 3months 

有人可以幫我用this..Am Rails3中的方式 感謝

回答

1

你只是缺少一個點在你的語法中。

@member.end_date = params[:start_date] + 3.months 

下面是在IRB一個例子(導軌控制檯):

$ 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 
3

假設params[:start_date]TimeDate對象,你的例子已經非常適合了。你只需要使用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 
+0

日Thnx @idlefingers它的工作 – bsanneh 2011-01-29 18:05:34