ruby-on-rails - 在哪里定义可以直接从 Rails 控制台访问的方法

标签 ruby-on-rails ruby

所以思路就是定义

def foo
  puts "Works!"
end

并且直接从控制台而不加载我写的任何东西

irb(main):001:0>foo()
=> "Works!"
irb(main):002:0>

我在 Windows 上使用 1.9.3。我想使用它来获得一种重新加载 lib/* 的方法,这样我就不需要重新启动控制台。谢谢。

最佳答案

我想这就是你要问的......我在初始化程序中有以下代码:

if defined?(Rails::Console)
  require "util/console_extensions"
  include ConsoleExtensions
end

以及我希望在 lib/util/console_extensions.rb

中定义的控制台中的任何额外方法
module ConsoleExtensions
  def foo
    puts "Works!"
  end
end

这会在加载 Rails 控制台时自动要求并包含 ConsoleExtension 模块,并使其中定义的方法可用,而无需手动加载任何内容。

关于ruby-on-rails - 在哪里定义可以直接从 Rails 控制台访问的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9375420/

相关文章:

ruby-on-rails - 在哪里可以存储在 Rails 的 http_basic_authentication_with 中使用的密码/用户名组合?

ruby - 法拉第的 "timeout"和 "open timeout"是什么?

ruby-on-rails - 设计 before_authenticate?

ruby - 由于使用 ARGV 而不是 .gets,RSpec 测试失败

ruby - Telnet 在 Ruby 中不工作

mysql - 更新多对多关系表上的值

ruby-on-rails - 从 Ruby 中的数组中删除重复元素

ruby-on-rails - 如何使用 ruby​​ on rails 从 redis 获取所有匹配的 key

ruby-on-rails - 如何使用 Ruby 2.7.0 修复 Rails 的警告消息

ruby-on-rails - Rails 主动存储 - 打开/下载链接