Rails创建一个简单的函数,在系统范围的控制台中运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails创建一个简单的函数,在系统范围的控制台中运行相关的知识,希望对你有一定的参考价值。
我想做一些简单的事情:
rails c
> ping
=> pong
所以我可以写一个动作,如:
def ping将“pong”结束
但是我把它放在哪里?如何在不必实例化新模型的情况下使其工作? application_helper.rb不起作用,application_controller.rb也不起作用
答案
如果您想特别在Rails中运行自定义方法,可以在lib
目录中的模块中定义辅助方法
# lib/custom_console_methods.rb
module CustomConsoleMethods
def ping
puts 'pong'
end
end
然后在application.rb
文件中,将一个块传递给console
,其中包含您的模块到Rails::ConsoleMethods
# config/application.rb
module YourRailsApp
class Application < Rails::Application
console do
require 'custom_console_methods'
Rails::ConsoleMethods.include(CustomConsoleMethods)
end
end
end
如果您想在系统范围内运行它,只需将方法放在~/.irbrc
文件中即可。每次运行irb
或rails console
时都会加载它
def ping
puts 'pong'
end
另一答案
您可以创建一个文件夹services
,然后在其中创建一个文件ping_service.rb
class PingService
def ping
puts 'pong'
end
end
然后在你的控制台中:
rails c
> PingService.new.ping
=> "pong"
以上是关于Rails创建一个简单的函数,在系统范围的控制台中运行的主要内容,如果未能解决你的问题,请参考以下文章