Rails 大于 irb/pry 但小于 rails 控制台的 REPL
Rails REPL that is more than irb/pry but less than rails console
我经常想尝试小的代码片段,通常比 类 小得多,甚至是函数,只是为了确保它能自己工作,所以我不需要通过 [=29] 来测试它=] 一堆脚本,只是为了修复一行代码中的小错误。
除了 irb/pry,我还想测试 Rails 特定的代码,例如 Object.blank?
。因此,我想加载 Rails 库,但我不需要 Rails 控制台给我的全部功能。尤其是当应用程序不处于工作状态时,REPL 根本不会打开,只会显示手头故障的堆栈跟踪。
如果有人知道如何实现这个中间立场,也许是通过使用特定的 gem 路径和 require
语句来加载我提到的其他 REPL 之一,你能说明一下吗命令?
我正在一个使用 RVM 来管理 gem 集的项目内部工作,我想完全不修改那个环境,如果可能的话,也许只修改我的一般终端环境。
大部分 Rails "magic" 来自 Active Support Core Extensions。您可以将其包含在常规 irb
session 中以获得大多数方便的方法,例如 blank?
.
启动 IRB session 和 运行
require 'active_support'
require 'active_support/core_ext'
.blank?
来自 ActiveSupport。您实际上可以只加载 ActiveSupport 而无需 Rails:
的其余部分
irb(main):001:0> require 'active_support/all'
irb(main):002:0> [].blank?
=> true
all.rb
文件加载所有 ActiveSupport。
ActiveRecord 和其他 rails 组件也可以这样做;例如:
irb(main):001:0> require 'active_record'
=> true
irb(main):002:0> class NewModel < ActiveRecord::Base; end
=> nil
irb(main):003:0> NewModel.new
ActiveRecord::ConnectionNotEstablished: No connection pool for NewModel
这给出了一个错误,因为我没有设置数据库,但它表明 Rails 是非常模块化的。我在没有 Rails 的项目中使用了 ActiveRecord(rails
gem is actually an empty gem 只是将各种 active_* gem 定义为依赖项)。
我经常想尝试小的代码片段,通常比 类 小得多,甚至是函数,只是为了确保它能自己工作,所以我不需要通过 [=29] 来测试它=] 一堆脚本,只是为了修复一行代码中的小错误。
除了 irb/pry,我还想测试 Rails 特定的代码,例如 Object.blank?
。因此,我想加载 Rails 库,但我不需要 Rails 控制台给我的全部功能。尤其是当应用程序不处于工作状态时,REPL 根本不会打开,只会显示手头故障的堆栈跟踪。
如果有人知道如何实现这个中间立场,也许是通过使用特定的 gem 路径和 require
语句来加载我提到的其他 REPL 之一,你能说明一下吗命令?
我正在一个使用 RVM 来管理 gem 集的项目内部工作,我想完全不修改那个环境,如果可能的话,也许只修改我的一般终端环境。
大部分 Rails "magic" 来自 Active Support Core Extensions。您可以将其包含在常规 irb
session 中以获得大多数方便的方法,例如 blank?
.
启动 IRB session 和 运行
require 'active_support'
require 'active_support/core_ext'
.blank?
来自 ActiveSupport。您实际上可以只加载 ActiveSupport 而无需 Rails:
irb(main):001:0> require 'active_support/all'
irb(main):002:0> [].blank?
=> true
all.rb
文件加载所有 ActiveSupport。
ActiveRecord 和其他 rails 组件也可以这样做;例如:
irb(main):001:0> require 'active_record'
=> true
irb(main):002:0> class NewModel < ActiveRecord::Base; end
=> nil
irb(main):003:0> NewModel.new
ActiveRecord::ConnectionNotEstablished: No connection pool for NewModel
这给出了一个错误,因为我没有设置数据库,但它表明 Rails 是非常模块化的。我在没有 Rails 的项目中使用了 ActiveRecord(rails
gem is actually an empty gem 只是将各种 active_* gem 定义为依赖项)。