我正在尝试访问全局系统设置的模型。应该几乎每个控制器都加载它。问题是我找不到任何关于让铁路加载水坝的帮助。
如果这有帮助,该模型称为Config,有两列; 'key'和'value'
我来自PHP的背景。我记得codeigniter可以通过。
加载模型
$this->load->model('a_model_name');
我正在尝试加载模型的控制器与模型名称不同。
答案 0 :(得分:2)
这里的问题实际上是模型的名称。其他Rails类使用Config - 请参阅Rails wiki上的list of reserved names
答案 1 :(得分:1)
Rails在需要时自动加载类。只要该类位于具有相同名称的文件中,并且它位于Rails查找类中的一个目录中,您只需使用该类就好像它已加载并且Rails将自动加载它
答案 2 :(得分:1)
您可以在ApplicationController中添加before_filter
:
before_filter :load_config
...
private
def load_config
something
end
默认情况下,Rails中的所有控制器都继承自ApplicationController,因此所有控制器都会在开始时执行load_config
方法。
顺便说一句,我非常喜欢rails-settings
gem / plugin进行配置。这可能是你需要的东西。并且它在需要时加载数据,因此您不必在每个控制器中加载配置,但只需在需要某些值时,您就可以执行以下操作:
Settings.key
你得到你想要的东西。
答案 3 :(得分:0)
据推测,如果您想使用特定密钥加载一条信息,可以使用Config.find_by_key('the_key_you_want')
来获取相关记录。
我不确定这是处理配置的最佳方式,但这实际上取决于系统的工作方式。
修改强>
在我发布回答之前没有看到你对问题的更新,似乎我误解了你的意思。在这里留下这个答案,如果它有用,Gareth的回答似乎是一个公平的答案。