Controller类的未定义方法'_helper_methods'

时间:2016-11-23 10:57:32

标签: ruby-on-rails ruby activerecord

这是Sentry链接。

问题是有时(一天几次)我在尝试向控制器添加帮助时收到此错误消息:

helper_name = "#{helper}_path".to_sym
self.class.send(:define_method, helper_name) { |*args| send "#{helper}_#{MySettings.route_code}_path", *args }
self.class.helper_method helper_name

此代码迭代一系列URL帮助程序名称(如%w(stocks bonds currencies))。然后它创建一个符号helper_name并在Controller中定义一个方法(整个代码在before_action中)。生成的方法是访问特定域的URL帮助程序。第三行只是通过调用控制器上的helper_method使视图中的生成方法可用。

我的路线也有这样的约束:

constraints host: lambda { |h| h == Settings.de_domain || h == "www.#{Settings.de_domain}" \
                              || h == Settings.at_domain || h == "www.#{Settings.at_domain}" \
                              || h == Settings.ch_domain || h == "www.#{Settings.ch_domain}" } do

经常访问该网站。此外,它还连接到多个域(nldebe等)。错误可能发生在任何域上。 知道为什么会发生这种情况以及如何解决这个问题?

0 个答案:

没有答案