Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未定义的局部变量或方法“set#u时区';RubyonRails中的控制器错误_Ruby On Rails_Ruby On Rails 3_Timezone - Fatal编程技术网

Ruby on rails 未定义的局部变量或方法“set#u时区';RubyonRails中的控制器错误

Ruby on rails 未定义的局部变量或方法“set#u时区';RubyonRails中的控制器错误,ruby-on-rails,ruby-on-rails-3,timezone,Ruby On Rails,Ruby On Rails 3,Timezone,我正在使用ENV[“TZ”]=time\u zone为用户设置时区,其中time\u zone是该用户的时区。我还在名为“time\u zone”的表中有一列保存该用户的时区。 现在我想检索该用户在其时区内的事件 要在模型中检索我的代码,请执行以下操作: def set_timezone Time.zone = current_user.time_zone || "Asia/Kolkata" end 我的控制器: before_filter :set_timezone 但我得

我正在使用
ENV[“TZ”]=time\u zone
为用户设置时区,其中time\u zone是该用户的时区。我还在名为
“time\u zone”
的表中有一列保存该用户的时区。
现在我想检索该用户在其时区内的事件
要在模型中检索我的代码,请执行以下操作:

  def set_timezone
   Time.zone = current_user.time_zone || "Asia/Kolkata"
  end 
我的控制器:

before_filter :set_timezone
但我得到了SchedulerController:0x533fa78的未定义局部变量或方法“set_timezone”的错误


你知道会出现什么问题吗?

你也可以在过滤之前将闭包/块作为参数传递给
,如下所示:

before_filter do
  Time.zone = current_user.time_zone || "Asia/Kolkata"
end

不,这是一个控制器行为:)现在我得到了未定义的方法TimeZone我想您希望保持
用户的时区作为一个持久属性,所以在迁移中添加它,在数据库中创建用户字段,它会自动将setter/getter方法添加到您的模型中。我在这里发现了一个类似的问题:您也可以阅读本文: