我正在尝试创建我的第一个 rails 插件,并且我希望它是可配置的,也就是说,我希望能够在 environment.rb 文件或其他东西中设置一个变量。
更新:我正在尝试做类似这里所做的事情:http: //soakedandsoaped.com/articles/read/exception-notifier-ruby-on-rails-plugin。我试过模仿他们的代码,但我无法让它工作。
我的插件使用硬编码的值,但到目前为止我为使其可配置所做的一切尝试都没有奏效。
这是一些代码:
#vendor/plugin/markup/lib/markup_helper.rb
module MarkupHelper
def stylesheet_cache_link_tag(*sources)
cache = assests_cache_dir ? assests_cache_dir : ""
options = sources.extract_options!.stringify_keys
cached_name = options.delete("cached_name")
stylesheet_link_tag(sources, :cache=> File.join(cache, cached_name))
end
def javascript_cache_include_tag(*sources)
cache = assests_cache_dir ? assests_cache_dir : ""
options = sources.extract_options!.stringify_keys
cached_name = options.delete("cached_name")
javascript_include_tag(sources, :cache=> File.join(cache, cached_name))
end
end
#something like the following in config/environment.rb or probably config/environments/production.rb
MarkupConfig.assests_cache_dir = "cache"
我希望assets_cache_dir 默认为“缓存”,但能够在环境配置文件中设置。我已经用谷歌搜索了很长时间,但找不到任何讨论这个的东西。我怎样才能做到这一点?