在rails模型上运行外部命令

时间:2011-07-31 01:19:16

标签: ruby-on-rails ruby

我有这行代码:

output = `rails_best_practices /home/jordi/src/adventureManager/app`

当我在irb中或在任何.rb内运行时,我从ruby输出中调用.rb得到一些内容。

但是当我在模型输出中调用它时会得到一个空字符串。

而不是其他命令,如

output = `cat /home/jordi/src/adventureManager/app/*`

将无处不在,包括内部模型 我对此问题一无所知

3 个答案:

答案 0 :(得分:4)

什么是rails_best_practices?它在你的道路上吗?我的猜测是,当你在模型中运行它时,你找不到stderr的命令。

答案 1 :(得分:1)

或者您可以尝试在应用根目录中使用以下内容:

output = `bundle exec rails_best_practices /home/jordi/src/adventureManager/app`
祝你好运!

答案 2 :(得分:0)

我在开发 Rails 6 应用程序时也有同样的担忧。

rails_best_practices gem 添加到我的 Gemfile 后:

group :development, :test do
  gem 'rails_best_practices', '~> 1.20'
end

我运行以下命令将其安装到我的应用程序中:

bundle install

但是,当我运行命令 rails_best_practices . 时,出现以下错误:

rails_best_practices: command not found

这是我修复它的方法

问题是 rails_best_practices 可执行文件的路径在我当前的shell/终端中尚不可用。

我只是关闭了当前的外壳/终端,然后重新打开了一个新的。

这次当我运行 rails_best_practices . 时,效果很好。

仅此而已。

我希望这会有所帮助