从控制台探索运行Rails服务器环境

时间:2013-11-21 21:22:15

标签: ruby-on-rails irb rails-console

我有一个应用程序,我让它在本地运行。我可以在rails console中创建另一个版本的应用程序,但是我想为运行的应用程序创建一个命令行界面,我可以在Web界面和控制台中进行交互。

理想情况下,我会启动rails s,然后可以使用该环境中的变量。

3 个答案:

答案 0 :(得分:7)

你不能用vanilla Rails做到这一点。每次键入rails(无论是server还是console),您都会启动应用程序的全新实例,该实例与任何其他实例不共享任何状态。

但是,如果安装极其有用的Pry gem,则可以在应用程序的任何位置(在操作或模型或视图中)键入binding.pry。当程序流程点击binding.pry时,服务器实例将进入交互式shell,您可以检查服务器进程的状态。这与你想要做的事情一样接近。

答案 1 :(得分:1)

如果我正确地阅读你的问题,这是常见的。

您可以在应用目录中的一个终端窗口中运行rails s,然后在同一个应用目录中的另一个终端窗口中运行rails c

然后,您可以修改数据库中的对象,这些对象将在Web UI中可见。

答案 2 :(得分:0)

回应“我爱pry !!!” - 您通常会询问如何“调试”您的应用。因此,如果您安装RubyMine(以及一些少数宝石,如debug_inspector,debugger,debugger-linecache,debugger-ruby_core_source,pry-debugger,& ruby​​-debug-ide),那么您可以从RubyMine运行rails server调试配置。

从那里,你可以把断点放在你想要撬的地方。你可以在RubyMine中运行语句,看看发生了什么。 RubyMine为重构和自动化测试提供了一个很棒的平台。没有隶属关系;只是为这个问题提供更多答案。