4

当我在 Ubuntu 中长时间使用 Rails 控制台时,我定义了clear方法:

def clear; system 'clear' end

因此,当我的控制台变脏时,我唯一要做的就是键入clear,然后控制台就会被清除。

我想使用这个功能而不是每次都重新输入。

提前致谢。

4

3 回答 3

5

把它放在~/.irbrc文件里就行了。每次运行irbrails console. Rails 控制台只是irb加载了您的 Rails 应用程序环境。

在此处查找更多信息irbhttp ://ruby-doc.com/docs/ProgrammingRuby/html/irb.html#S2

于 2012-06-24T17:40:33.183 回答
1

把这个函数放到~/.irbrc

def clear
  system 'clear'
end

然后当你运行 irb 时它就可用了。

于 2012-06-24T17:39:00.547 回答
0

如果您想在 rails-project-directory 的领域中定义控制台帮助程序,还有另一种有趣的方法:您可以扩展Rails::ConsoleMethods-module,它包含众所周知且方便的控制台内容,例如,app等...这里是一种简单的方法:helpercontroller

只需将一个模块添加到您的lib-directory 包含您的自定义控制台帮助程序并Rails::ConsoleMethods通过 mixin 前置应用它 - 例如:

# Extending Rails::ConsoleMethods with custom console helpers
module CustomConsoleHelpers

  # ** APP SPECIFIC CONSOLE UTILITIES ** #

  # User by login or last
  def u(login=nil)
    login ? User.find_by_login!(login) : User.last
  end

  # Fav test user to massage in the console
  def honk
    User.find_by_login!("Honk")
  end

  # ...

  # ** GENERAL CONSOLE UTILITIES ** #

  # Helper to open the source location of a specific 
  # method definition in your editor, e.g.:
  #
  #   show_source_for(User.first, :full_name)
  #
  # 'inspired' (aka copy pasta) by 'https://pragmaticstudio.com/tutorials/view-source-ruby-methods' 
  def show_source_for(object, method)
    location = object.method(method).source_location
    `code --goto #{location[0]}:#{location[1]}` if location
    location
  end

  # ...
end

require 'rails/console/helpers'
Rails::ConsoleMethods.send(:prepend, CustomConsoleHelpers)

这对我来说就像一个魅力。这种方法(我没有测试)的进一步替代方法是将上面的内容放在初始化程序中(如这里) - 或改为扩展- 例如像这样(在Rails::ConsoleMethods此处此处找到):config/application.rb

console do
  require 'custom_console_helpers'
  Rails::ConsoleMethods.send :include, CustomConsoleHelpers
end
于 2020-04-20T16:13:50.677 回答