我的目标是使用Pry作为我的Rails应用程序的控制台,无论是在本地还是在我的登台服务器上。但我无法让它在Heroku上工作。
我正在按照these说明让Heroku使用Pry作为我的Rails应用程序的控制台。当我运行heroku run console pry
时,我的控制台会打印Running console pry attached to terminal... up, run.1
,然后退出。当我运行heroku console pry
时,它只是说main
然后退出。
关于我做错了什么想法?
这是我到目前为止所做的:
在我的 Gemfile 中,我添加了以下行:
gem 'pry'
gem 'pry-rails'
我创建了一个名为 pry 的文件,其中包含:
#!/usr/bin/env ruby
require 'pry'
pry
我在 config / environments 中的所有文件中添加了以下内容:
silence_warnings do
begin
require 'pry'
IRB = Pry
rescue LoadError
end
end
运行bundle install
git push staging master
答案 0 :(得分:12)
我是为Heroku和Pry开发方法的人,但你提出了一个我没有想过的有趣案例,因为我主要使用Sinatra和EM部署并构建我自己的帮助器等。无论哪种方式:
要在拥有Rails应用程序时使用与Heroku的Pry,您只需要将pry-rails和pry添加到gemfile(作为普通Gem),然后bundle install
然后git [commit|push]
并运行{{ 1}}在Cedar堆栈上。您调整配置/环境的地方的第3步不会也不应该这样做,请尽可能恢复该更改。执行此操作并从应用程序的根目录中删除pry脚本(您不一定需要执行后者)Pry将正确加载您的Rails。
答案 1 :(得分:3)
我刚刚使用https://github.com/pry/pry/wiki/Setting-up-Rails-or-Heroku-to-use-Pry处的说明进行设置,pry文件位于项目的根目录中。提交并推送到Heroku - 我正在使用Cedar堆栈。
影响heroku run console pry
的控制台会话 - 我确实发现我确实需要执行pry
才能进入pry提示符,但它会按照我的预期运行。
更新:为了清楚起见,我向Gemfile添加了pry并按照指示创建了pry文件。您的问题是您在gem文件中锁定pry以进行开发/测试 - 您是否在这些环境中在Heroku上运行应用程序?那你为什么得到未定义的方法?
答案 2 :(得分:0)
您可能必须在捆绑器Gemfile中列出它。