【发布时间】:2014-04-12 20:47:13
【问题描述】:
是否可以在 config/initializers/browser_blocker.rb 中包含/使用 Application Helper 方法?
我正在使用browser gem 来检测和阻止较旧的非现代浏览器。
Rails.configuration.middleware.use Browser::Middleware do
include ApplicationHelper
redirect_to :controller => 'error', :action => 'browser-upgrade-required' if browser_is_not_supported
end
我目前正在使用的辅助方法:
# test browser version
def browser_is_not_supported
return true unless browser.modern?
return true if browser.chrome? && browser.version.to_i < ENV['BROWSER_BASE_VERSION_GOOGLE'].to_i
return true if browser.firefox? && browser.version.to_i < ENV['BROWSER_BASE_VERSION_FIREFOX'].to_i
return true if browser.safari? && browser.version.to_i < ENV['BROWSER_BASE_VERSION_SAFARI'].to_i
return true if browser.opera? && browser.version.to_i < ENV['BROWSER_BASE_VERSION_OPERA'].to_i
return true if browser.ie? && browser.version.to_i < ENV['BROWSER_BASE_VERSION_MSFT'].to_i
end
【问题讨论】:
-
为什么需要
ApplicationHelper功能?最好只使用特定的模块,很难举个例子,因为你的例子没有使用任何帮助方法 -
因为我希望在应用程序的其他部分使用 browser_is_not_supported?这可能吗?
标签: ruby-on-rails ruby gem initialization