在Controller中将变量的值从一个方法传递到另一个方法

时间:2017-01-04 14:30:22

标签: ruby-on-rails ruby

我需要来自@begin_date中索引操作的@end_dateupdate_log的值,因为我需要这些值来进行查询。

我使用了类变量,但是它只能在第一次使用,正如您可以从下面的代码中看到Date.parse(params[:begin_date]),我在索引视图中编写了一个表单标记。

class TController < ApplicationController

@@begin_date = Date.today

@@end_date = Date.today

def index

  @begin_date = params[:begin_date].present? ? Date.parse(params[:begin_date]) : Date.today.beginning_of_month

  @end_date = params[:end_date].present? ? Date.parse(params[:end_date]) : Date.today.end_of_month

  @@begin_date = @begin_date 
  @@end_date = @end_date 
end

def update_log
  @begin_date2 = @@begin_date
  @end_date2 = @@end_date
end

update_log行动中,它只取值:

@@begin_date = Date.today

@@end_date = Date.today

但是从日期的表单标记更改了值后,update_log中没有更新。我需要帮助,或者有人可以建议我更好的方法来获得结果。

1 个答案:

答案 0 :(得分:0)

以与索引操作相同的方式分配它们:

def update_log
  @begin_date = the_value
  @end_date   = the_value
end