这是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
经常访问该网站。此外,它还连接到多个域(nl
,de
,be
等)。错误可能发生在任何域上。
知道为什么会发生这种情况以及如何解决这个问题?