我在rails中有一个站点,并希望在站点范围内进行设置.如果发生特定事件,我的应用程序的一部分可以通过SMS通知管理员.这是我希望通过站点范围设置进行配置的功能示例.
所以我在想我应该有一个环境模型或类似的东西.它需要是一个模型,因为我希望能够使用has_many:SMS通知的联系人.
问题是数据库中只能有一个用于设置模型的帖子.所以我在考虑使用Singleton模型,但这只会阻止创建新对象吗?
我还需要为每个属性创建getter和setter方法,如下所示:
def self.attribute=(param)
Model.first.attribute = param
end
def self.attribute
Model.first.attribute
end
Run Code Online (Sandbox Code Playgroud)
直接使用Model.attribute可能不是最佳实践,但总是创建它的实例并使用它吗?
我该怎么办?
使用rails中的singleton mixin我可以在rails app的范围内创建一个单例类.但我想知道有没有办法在特定请求的范围内创建它?
我希望创建一个自定义方法(例如def plus_two(x) x + 2 end,让它在应用程序内的任何地方都可以访问——也就是说,可以在控制器、模型、控制台、视图、测试和任何其他.rb文件中访问。我目前在许多领域定义了相同的方法的应用程序,并希望使其干燥
如何做到这一点?
注意:我不介意调用该方法是否需要预先添加某些内容(我已经看到一些答案,其中方法预先带有::名称空间或带有名称空间,但除此之外,我更喜欢在可能的情况下保持代码简洁
我已经阅读了一些类似的问题(例如这个),但我不太明白