如何在 Rails 环境中 运行 在 RubyMine 或 IDEA 中暂存文件?

How do I run scratch file in RubyMine or IDEA in Rails environment?

我想在我的 Rails 应用程序中使用临时文件作为控制台替代品来制作原型。我发现的最简单的解决方案是像这样手动要求环境:

require '/project/path/config/environment.rb'

但它不使用 Spring,因此速度非常慢。

我找到了两种方法,具体取决于您的工作流程,一种可能比另一种更适合您。假设您使用的是 IDEA 14(早期版本可能有所不同)和 Rails 4.1+.

自定义 运行内

  1. 在顶部菜单中 Run -> Edit Configurations...;
  2. 配置选项卡:
    2.1. Ruby 脚本:<Path to your bin/rails file>;
    2.2.脚本参数:runner <Path to your script>
    2.3.工作目录:<Your project dir>;
    2.4.环境变量:RAILS_ENV=development
    2.5. Ruby 个参数:-e '$stdout.sync=true;$stderr.sync=true;load([=15=]=ARGV.shift)'
    2.6. Ruby SDK:<Your project SDK>
  3. 捆绑器 选项卡:
    3.1. 运行 包上下文中的脚本(bundle exec):<check>.

这种方法的问题在于,每次您想要 运行 不同的文件时,您都必须手动更改临时文件的路径(如果您知道解决方法,请发表评论)。

外部工具

假设您已安装 Spring:

  1. 在顶部菜单中IntelliJ IDEA -> Preferences
  2. Tools -> External Tools
  3. 点击菜单底部的+
    3.1.姓名:Rails Runner
    3.2.程序:$ProjectFileDir$/bin/spring
    3.3.参数:rails runner $FilePath$
    3.4.工作目录:$ProjectFileDir$
  4. Keymap:
    4.1.搜索 Rails Runner;
    4.2.双击添加自定义快捷方式(Alt + S方便可用)。

这种方法的唯一问题是您必须有自定义快捷方式才能方便使用。