ruby-on-rails – Capistrano:deploy.rb文件重构
发布时间:2020-12-16 23:21:38 所属栏目:百科 来源:网络整理
导读:我在deploy.rb中有以下代码 namespace :app do desc "copies the configuration frile from ~/shared/config/*.yml to ~/config" task :copy_config_files,:roles = :app do run "cp -fv #{deploy_to}/shared/config/hoptoad.rb #{release_path}/config/init
我在deploy.rb中有以下代码
namespace :app do desc "copies the configuration frile from ~/shared/config/*.yml to ~/config" task :copy_config_files,:roles => :app do run "cp -fv #{deploy_to}/shared/config/hoptoad.rb #{release_path}/config/initializers" run "cp -fv #{deploy_to}/shared/config/app_config.yml #{release_path}/config/app_config.yml" end end 我认为保持deploy.rb文件干净是个好主意,我试图在config下将代码移到capistrano_utilities.rb之上.我正在使用Rails应用程序.我将以下代码行添加到deploy.rb中 require File.expand_path(File.dirname(__FILE__) + "/../lib/capistrano_utilities") 现在我收到了以下错误. undefined method `namespace' for main:Object (NoMethodError) deploy.rb中self的值是Capistrano :: Configuration.虽然capistrano_utilities中self的值是Main.所以我理解为什么我得到名称空间方法错误.这个问题的解决方法是什么? 解决方法
在config / deploy.rb中,尝试加载而不是require.此外,capistrano已经运行,就像你在RAILS_ROOT一样,因此不需要使用__FILE__:
load "lib/capistrano_utilities" 在capistrano配置文件中,重新定义load以将另一个配置文件加载到当前配置中.在向它传递路径时,它实际上调用load_from_file(由capistrano定义的私有方法),它只从磁盘和instance_eval中读取文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- React Context(一):隐式传递数据
- c – CMake / CTest代码覆盖率检查
- oracle 12C ORA-07445 12.1.0.2.0
- sqlite3自增key设定(创建自增字段)
- ruby-on-rails – Rspec 3中Rspec any_instance的新特性是什
- postgresql – 尽管有LOCK,Redshift:可序列化隔离错误(102
- react-native – RNFetchBlob需要主队列设置
- applicationContext.xml 配置文件的存放位置
- Oracle字符到数值转换错误
- 如何在XML配置文件中使用Spring Boot自动配置的bean?