Tag: 依赖项

停止Rails在开发模式下卸载模块

我的Rails应用程序中有一个模块,它位于/ lib中 module MyModule mattr_accessor :the_variable class << self def setup yield this end end end 从我的environments/#{RAILS_ENV}.rb文件中,我可以为the_variable设置特定于环境的值: MyModule.setup do |my_module_config| my_module_config.the_variable = 42 end 这很可爱,似乎工作(几乎)很好。 问题是在开发模式下,通过ActiveSupport::Dependencies Rails卸载了ActiveSupport::Dependencies模块,并及时为新请求重新加载它们。 这通常是一个很好的行为,因为这意味着您在进行代码更改时不需要重新启动localhost服务器。 但是,这也清除了我初始化的the_variable变量,当下一个请求进入初始化时(显然)不会再次运行。 最终结果是后续请求最终将MyModule.the_variable设置为nil而不是我正在寻找的42 。 我正在尝试找出如何在请求结束时停止Rails卸载我的模块,或者找到另一种方法来干净地为我的模块提供特定于环境的配置。 有任何想法吗? : – /

如何在.gemspec文件中将本地gem的依赖项添加到rails插件/引擎

我试过这样的方式: s.add_dependency ‘gem’, :path => ‘../gem’ 比如在gemfile,添加gem gemfile,但它不起作用,并会导致此错误: /Users/chenqh/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:81:in `parse’: Illformed requirement

“require File.dirname(__ FILE__)” – 如何安全地撤消文件系统依赖?

我正在使用的一些Ruby库require语句: require File.dirname(__FILE__) + ‘/specification_helper.rb’ lib_dir = File.expand_path(File.join(File.dirname(__FILE__), “lib”)) require File.join(File.dirname(__FILE__), ‘lib/tools’, ‘version’) require File.expand_path(File.join(File.dirname(__FILE__), ‘datautils’, ‘conn’)) 这种格式不会使您的代码不必要地依赖于文件系统的结构吗? 为什么作者这样做? 是否可以(安全地)更改此代码以消除对文件系统的依赖性?