Capistrano:deploy.rb 文件重构

2024-06-19

我的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文件干净是个好主意,我尝试将上面的代码移动到配置下的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。所以我明白为什么我会收到命名空间方法错误。这个问题的解决办法是什么?


In your config/deploy.rb, try load代替require。另外,capistrano 已经运行了,就像您在RAILS_ROOT,所以不需要使用__FILE__:

load "lib/capistrano_utilities"

在 capistrano 配置文件中,load被重新定义以将另一个配置文件加载到当前配置中。当向它传递路径时,它实际上调用load_from_file(由 capistrano 定义的私有方法),仅从磁盘读取文件并instance_eval's it.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Capistrano:deploy.rb 文件重构 的相关文章

  • 在 Rails 中将一列添加到另一列之前

    我想在我的桌子前面放一个柱子我知道你可以做到 add column customer first name after last name 但有什么办法吗 before 您可以使用以下命令在表格前面插入一列 first option add
  • 设计闪现消息不显示

    Devise 在我的应用程序中完美运行 除了来自 devise en yml 的闪存消息未显示在视图中 我究竟做错了什么 下面是我的注册页面视图 我都尝试过 alert and notice但不工作 先感谢您 h2 Sign up h2 p
  • 如何将 image_tag 与 bootstrap class: "img-responsive" 一起使用?第11章

    我问这个问题的原因是为了解决一个非常烦人的语法错误 我正在使用第 11 章 这样我就可以在我的新网站上使用图像构建一个博客部分 除了我尝试向此行添加 class img responsive 之外 一切都正常 我只是无法弄清楚添加类的正确语
  • 用于将唯一项插入数组的 Ruby 条件

    我知道如果你有一个array并将其引用为array uniq它将返回 没有任何重复项 然而 在本例中 它是一个对象数组 这是正确的 Ruby 语言吗 我希望每个电话都进入 calls数组除非call from与数组中已存在的 call fo
  • ruby 无法复制 Fixnum

    我有一些这样的代码 ssh files id rsa pub id rsa ssh files each with index do item index ssh files index generate ssh path creator
  • ruby Sequel gem - 如何使用 pg_array 扩展查询数组

    我正在使用pg array http sequel jeremyevans net rdoc plugins files lib sequel extensions pg array rb html扩展和续集版本 4 1 1 我添加了这样的
  • 葡萄错误处理策略?

    我正在使用 Grape 和 Rails 创建 REST API 我已经有了基本的架构 并且正在寻找可以 清理 东西的地方 其中之一是错误处理 处理 我目前正在修复整个 API 的 root rb GRAPE API 基类 文件中的错误 我对
  • Ruby 有哪些图形包/API?

    Similar Perl 有哪些图形包 API https stackoverflow com questions 460325 what graphing packages apis exist for perl 我正在对不同语言的在线图
  • 如何将 --no-ri --no-rdoc 设置为 gem 安装的默认值? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将 no ri no rdoc 设置为 gem 安装的默认值 https stackoverflow com questions 1381725 how to make no ri no rdoc
  • 将对象数组转换为 ActiveRecord::Relation

    我有一个对象数组 我们称其为Indicator 我想运行 Indicator 类方法 def self subjects该数组上的种类 范围等 我知道在一组对象上运行类方法的唯一方法是让它们成为 ActiveRecord Relation
  • jruby-openssl 中已初始化常量

    当在 Torquebox 上运行我的 Rails 应用程序时 我得到了很多 already initialized constant 警告源自gems jruby openssl 0 8 2 lib shared jruby openssl
  • RVM 安装问题 - 无法执行端口 (autoconf)

    我正在尝试在 OSX mountain lion 上安装 Jekyll 首先我想安装RVM 然后安装最新的ruby 但是 RVM 安装失败 我无法解决问题 任何帮助表示赞赏 这是我所做的 安装的 OSX 命令行工具 尝试安装 RVM cur
  • Windows 上的 ruby​​ 中出现 SSL 错误

    我收到以下错误 C Users user Desktop folder gt ruby exchange rate rb C Ruby23 x64 lib ruby 2 3 0 net http rb 933 in connect nonb
  • 对于所有 mime 类型,仅respond_to format.js

    我有一个响应 format js 的控制器 但是 大多数请求假设旧的 format html 仍然存在并抛出 404 异常 如何捕获控制器上的所有 MIME 请求并将它们仅重定向到 format js 这是当前控制器的操作 def sear
  • 覆盖生产环境中的后端资产

    我正在开发一个需要稍微改变 Refinery 的 WYMEditor 行为的项目 这可以通过重写轻松完成jquery refinery wymeditor js using rake refinery override并根据我自己的需要进行
  • 在 Ruby 中按名称获取一个类?

    有一个包含模块和类名称的字符串 例如 Admin MetaDatasController 我如何获得实际课程 如果没有模块 以下代码将起作用 Kernel const get MetaDatasController 但它与模块中断 ruby
  • 如何在 ruby​​ on Rails 中的 haml 内的 js 设置会话变量?

    我通过 js 有表行着色 针对行组 我想让它通过会话变量记住阴影 我正在使用的 haml 部分有 Group Shading a href gt id gt row colors on On a href gt id gt row colo
  • 有没有办法在 Nokogiri css 中转义非字母数字字符?

    我有一个锚标签 file html stuff morestuff CHP 1 SECT 2 1 尝试提取 Nokogiri 中引用的内容 documentFragment at css stuff morestuff CHP 1 SECT
  • Ruby:如何将多个方法调用与“发送”链接在一起

    必须有一种内置的方法来做到这一点 对吧 class Object def send chain arr o self arr each a o o send a return o end end 我刚刚遇到了这个 它确实需要注入 def s
  • ruby require 问题(与 $LOAD_PATH 有关)

    我正在尝试使用我刚刚安装的 gem 通过sudo gem install excelsior 像这样 需要 红宝石 要求 精益求精 这在 irb 中工作得很好 但是当我将完全相同的代码粘贴到 rb 文件中并尝试使用 ruby 运行它时 我得

随机推荐

  • angularjs ng-repeat 在两个级别上但只有一个输出

    我有一个看起来像这样的大物体 scope marketplaces first example second example 我想做的是循环遍历大对象 如下所示 section ul li li ul section 在循环内部 再次循环每
  • 如果通过谓词则返回值,否则返回默认值

    如果某个值未通过谓词 我该如何替换它 为了显示 assert eq 3 5 but if v v lt 0 then 0 0 我以为会有一些东西Option or Result允许这样做 但我找不到它 我以为会有一些东西Option or
  • 将控制器操作处理为 JS 而不是 HTML

    所以我有以下形式 Follow 我试图
  • iOS推送通知:当应用程序处于后台时,如何检测用户是否点击了通知?

    关于这个主题有很多 stackoverflow 线程 但我仍然没有找到好的解决方案 如果应用程序不在后台 我可以检查launchOptions UIApplicationLaunchOptionsRemoteNotificationKey
  • 实现与扩展:何时使用?有什么不同?

    请用易于理解的语言进行解释或提供某些文章的链接 extends is for 延伸一类 implements is for 实施一个接口 接口和常规类之间的区别在于 在接口中您不能实现任何声明的方法 只有 实现 接口的类才能实现方法 C 中
  • 使用 JSON 文件动态更新 HTML 内容?

    我想创建一个 JS 循环 使用 jQuery 来查看 JSON 文件 并根据是否 div ids 与 JSON id 值匹配 这需要易于扩展并且无论有多少人都可以工作 div 添加了盒子 我有一个 HTML 文件 设置如下 div clas
  • 导入错误:无法导入名称“FFProbe”

    我无法获取ffprobe包 https github com simonh10 ffprobe在 Python 3 6 中工作 我使用 pip 安装它 但是当我输入import ffprobe it says Traceback most
  • TestNG并行执行

    我有 4 个 Test 方法 并且想每个方法运行 3 次 我想在 12 个线程中同时执行这一切 我创建了一个像这样的 testng xml 文件
  • C#:DataSet.readXML( "filepath" ) 如何处理包含对象内对象内对象的 XML 文件?

    我有一个 xml 文件 格式如下
  • 如何同时支持 IPv4 和 IPv6 连接

    我目前正在开发 UDP 套接字应用程序 需要构建支持 以便 IPV4 和 IPV6 连接可以将数据包发送到服务器 我希望有人能帮助我并为我指明正确的方向 我发现的大部分文档都不完整 如果您能指出 Winsock 和 BSD 套接字之间的任何
  • 如何在 Meteor 应用程序之间共享 MongoDB 集合?

    我希望能够为我的项目提供一个管理应用程序和一个客户端应用程序 理想情况下 我希望能够拥有一个共享的 MongoDB 集合 我怎样才能做到这一点 我尝试在两个不同的应用程序中创建具有相同名称的集合 但发现 Meteor 会将数据分开 知道我能
  • 使用非英语的通用语言? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在讨论最近项目的规范和功能要求时 我们正在与领域专家讨论荷兰语的会计术语 因为整个团队和客户都是以荷兰语为母语的人 当开发开始时 我们很自然地用英语实
  • com.android.ddmlib.AdbCommandRejectedException:设备离线(即使设备已连接)

    将 Android Studio 更新到 2 1 2 后 当我进行更改时 我多次收到以下错误 com android ddmlib AdbCommandRejectedException 设备离线 安装 APK 时出错 问题是设备从未连接且
  • CSS:多属性选择器

    我想设置 电子邮件 和 密码 类型的表单输入样式 但不设置其他任何样式 我正在想象类似以下的事情 input type email type password 然而 属性选择器的工作方式似乎将其解释为 输入 其中类型同时是 电子邮件 and
  • Z 算法背后的直觉

    Z算法是一种复杂度为O n 的字符串匹配算法 一种用例是从字符串 B 中查找字符串 A 的最长出现次数 例如 overdose from stackoverflow 将会 over 您可以通过使用组合字符串调用 Z 算法来发现这一点 ove
  • 何时使用 NodeIterator

    基准 http jsperf com qsa vs node iterator比较 QSA 和 forEach vs a NodeIterator toArray document querySelectorAll div gt a kla
  • Microsoft Edge 清理会话

    Microsoft Edge 驱动程序在运行 selenium 测试时不确保干净会话 是否有一个选项可以指定所需的功能来解决此问题 今天我自己就遇到了这个问题 所以最终我让它工作的唯一方法非常简单 您必须在 Edge 设置中选中 关闭浏览器
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • 如何部分或仅按百分比沿路径过渡

    我是 d3 的初学者 目前无法使用最新版本 但我使用的是 3 x 版本 我想要实现的应该很简单 但遗憾的是我没有找到有关如何做到这一点的资源 目标是在我的 svg 中显示一条路径 然后我想显示例如一个圆并沿着路径过渡 移动 追踪圆 如果我想
  • Capistrano:deploy.rb 文件重构

    我的deploy rb中有以下代码 namespace app do desc copies the configuration frile from shared config yml to config task copy config