如何为Rails控制台创建自定义方法?

问题描述 投票:4回答:3

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

def clear; system 'clear' end

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

我想使用此功能而不必每次都重新输入。

提前感谢。

ruby-on-rails ruby ruby-on-rails-3 irb rails-console
3个回答
5
投票

只需将其放入~/.irbrc文件中。每次您运行irbrails console都会加载它。加载了Rails应用程序环境后,Rails控制台仅为irb

在此处找到有关irb的更多信息:http://ruby-doc.com/docs/ProgrammingRuby/html/irb.html#S2


1
投票

将此功能置于~/.irbrc

def clear
  system 'clear'
end

然后在运行irb时将可用。


0
投票

[如果您想在rails-project-directory的领域中定义控制台助手,还有另一种有趣的方法:您可以扩展Rails::ConsoleMethods -module,该模块包含Rails::ConsoleMethods这样的知名且方便的控制台材料],apphelper等...这是一种简单的方法:

只需将一个模块添加到您的controller目录中,即可容纳您的自定义控制台帮助程序,并通过添加mixin将其应用于lib-例如:

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-例如像这样(找到aplication.rbhere):

here
© www.soinside.com 2019 - 2024. All rights reserved.