我可以在Rails控制台中定义别名吗?

时间:2013-07-30 08:01:59

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

我尝试编辑〜/ .irbrc文件 并定义show_tbls方法来获取我拥有的表, 因为命令很长,所以我试着让函数更容易使用。

require 'hirb' ; Hirb.enable
require 'irb/completion'

def show_tbls
    ActiveRecord::Base.connection.tables
end

当我运行show_tbls时 它显示错误如下

1.9.3-p448 :001 > show_tbls()
NoMethodError: undefined method `show_tbls' for main:Object
        from (irb):1
        from /home/poc/.rvm/gems/ruby-1.9.3-p448/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in `start'
        from /home/poc/.rvm/gems/ruby-1.9.3-p448/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in `start'
        from /home/poc/.rvm/gems/ruby-1.9.3-p448/gems/railties-3.2.13/lib/rails/commands.rb:41:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'
1.9.3-p448 :002 > show_tbls
NameError: undefined local variable or method `show_tbls' for main:Object

1 个答案:

答案 0 :(得分:5)

在内核模块中定义你的方法

module Kernel
  def show_tbls
    ActiveRecord::Base.connection.tables
  end
end