我正在编写一些我希望兼容1.8.7和1.9的Rails代码。在几个不同的文件中,我做了一些CSV解析,所以我目前在每个文件中都有以下要求行:
if RUBY_VERSION < "1.9"
require "rubygems"
require "fastercsv"
CSV = FCSV
else
require "csv"
end
为了避免所有重复,这个块可能应该只存在于一个地方。哪个地方最好放? application.rb
是对的吗?
答案 0 :(得分:2)
我将它放在初始值设定项config/initializers/csv.rb
中。它会自动加载到rails中,并且不会混合到加载路径中(因此您不必担心文件名)。
请注意,某些加载机制不执行“require”,而只是在加载器上下文中运行该文件,因此如果您收到异常,则可能无法以通常的方式处理它。