当我在 Ubuntu 中长时间使用 Rails 控制台时,我定义了clear
方法:
def clear; system 'clear' end
因此,当我的控制台变脏时,我唯一要做的就是键入clear
,然后控制台就会被清除。
我想使用这个功能而不是每次都重新输入。
提前致谢。
当我在 Ubuntu 中长时间使用 Rails 控制台时,我定义了clear
方法:
def clear; system 'clear' end
因此,当我的控制台变脏时,我唯一要做的就是键入clear
,然后控制台就会被清除。
我想使用这个功能而不是每次都重新输入。
提前致谢。
把它放在~/.irbrc
文件里就行了。每次运行irb
或rails console
. Rails 控制台只是irb
加载了您的 Rails 应用程序环境。
在此处查找更多信息irb
:http ://ruby-doc.com/docs/ProgrammingRuby/html/irb.html#S2
把这个函数放到~/.irbrc
def clear
system 'clear'
end
然后当你运行 irb 时它就可用了。
如果您想在 rails-project-directory 的领域中定义控制台帮助程序,还有另一种有趣的方法:您可以扩展Rails::ConsoleMethods
-module,它包含众所周知且方便的控制台内容,例如,app
等...这里是一种简单的方法:helper
controller
只需将一个模块添加到您的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