use*_*745 2 ruby ruby-on-rails ruby-on-rails-5
我希望创建一个自定义方法(例如def plus_two(x) x + 2 end,让它在应用程序内的任何地方都可以访问——也就是说,可以在控制器、模型、控制台、视图、测试和任何其他.rb文件中访问。我目前在许多领域定义了相同的方法的应用程序,并希望使其干燥
如何做到这一点?
注意:我不介意调用该方法是否需要预先添加某些内容(我已经看到一些答案,其中方法预先带有::名称空间或带有名称空间,但除此之外,我更喜欢在可能的情况下保持代码简洁
我已经阅读了一些类似的问题(例如这个),但我不太明白
阅读评论似乎您只是在寻找一个清晰而简单的方法示例,该示例在您的应用程序中随处可用:
# in app/models/calculator.rb
module Calculator
def self.plus_two(x)
x + 2
end
end
Run Code Online (Sandbox Code Playgroud)
可以这样调用:
Calculator.plus_two(8)
#=> 10
Run Code Online (Sandbox Code Playgroud)