当我在Ubuntu中使用Rails控制台进行长时间会话时,我定义了clear
方法:
def clear; system 'clear' end
因此,当我的控制台变脏时,我唯一需要做的就是键入clear
并清除控制台。
我想使用此功能,而不是每次都重新输入它。
提前致谢。
答案 0 :(得分:4)
只需将其放入~/.irbrc
文件即可。每次运行irb
或rails console
时都会加载它。 Rails控制台只是irb
,加载了Rails应用程序环境。
在此处查找有关irb
的更多信息:http://ruby-doc.com/docs/ProgrammingRuby/html/irb.html#S2
答案 1 :(得分:1)
将此功能设为~/.irbrc
def clear
system 'clear'
end
然后当你运行irb时它将可用。
答案 2 :(得分:0)
如果您想在rails-project-directory领域中定义控制台帮助程序,则还有另一种有趣的方法:您可以扩展Rails::ConsoleMethods
-module,该模块包含著名且方便的console-stuff例如app
,helper
,controller
等...这是一种简单的方法:
只需将一个模块添加到保存您的自定义控制台帮助程序的lib
目录中,然后通过mixin前缀将其应用于Rails::ConsoleMethods
即可,例如:
# 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)
这对我来说就像是魅力。这种方法(我没有测试过)的其他替代方法是将以上内容放入初始化程序中(如here),或者将Rails::ConsoleMethods
扩展到config/application.rb
中,例如-这样(找到here和here):
console do
require 'custom_console_helpers'
Rails::ConsoleMethods.send :include, CustomConsoleHelpers
end