我想做些简单的事情:
rails c
> ping
=> pong
所以我可以写一个像这样的动作
定义 把“乒乓球” 结束
但是我放在哪里?我如何在不实例化新模型的情况下使其工作? application_helper.rb不起作用,application_controller.rb
也不起作用答案 0 :(得分:2)
您可以创建一个文件夹services
,并在其中创建文件ping_service.rb
class PingService
def ping
puts 'pong'
end
end
,然后在您的控制台中:
rails c
> PingService.new.ping
=> "pong"
答案 1 :(得分:1)
如果您想专门在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