我正在构建一个 Rails 应用程序,它将挂接到 git 存储库,并在存储库被推送到时执行一些代码。我正在尝试使用 git hooks 来执行此操作,但我似乎无法从所述 hooks 中使用 Rails 应用程序。
我尝试使用 rails runner 作为 hooks 的 shebang (#!/path/to/rails runner) 但是因为空间不被认为是 shebangs 中的参数分隔符,所以我尝试执行一个名为“rails runner”的文件不起作用。我还尝试将脚本作为 Ruby (#!/usr/bin/ruby) 执行并包含 rails config/environment.rb 文件,但这似乎触发了旧的“app/models/X.rb Expected to define X”错误。我现在没有代码,所以我无法粘贴预期的功能来查看我的代码中是否存在错误,但我只想知道在外部执行 Rails 代码的正确方法是什么Rails 应用路径是?
谢谢
最佳答案
您应该能够使用 /usr/bin/env
技巧:
#!/usr/bin/env /path/to/rails runner
env
utility只是将其参数作为普通命令运行,它通常用于执行 PATH
搜索 shebang 中的内容。
关于ruby-on-rails - git hook 中的 Ruby on Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491176/