Ruby / Rails – 访问“查找”表而不进行建模?

这是一个Ruby on Rails 3.0.x项目。

我有一个“查询”表,其中包含供应商提供的数据。

当我从其他来源导入数据时,我想检查此表(加入SKU)以获取额外数据。

在我的应用程序中为此表创建模型似乎不对。 我的应用程序永远不会更改数据,除了刚刚提到的数据查找之外,它不需要任何模型关联。 只是偶尔访问它来检查一些信息。

访问此表的最佳做法是什么?

谢谢。

围绕它创建模型没有什么害处,但是如果你想避免它,你必须将原始SQL查询发送到数据库以获取数据作为替代。

原始查询: Rails原始SQL示例

另一方面,我认为围绕它包装模型的动机不仅仅是你想要修改它。 我肯定有应用程序,这些应用程序具有永不改变的表格模型(即特定于应用程序的术语列表,城市/州的列表以及一次导入且永不改变的其他静态数据)。 ActiveRecord还会将列包装成易于访问的方法,因此您可以轻松读取该数据,更不用说有关排序,查找等的所有便捷方法。

另一种选择是将其存储在YML中,然后将该YML加载到environment.rb文件中的常量中。

像这样:

LOOK_UP_TABLE = YAML.load_file("#{RAILS_ROOT}/misc/vendor_data.yml") 

为什么不能为……模型创建模型? 如果它在数据库中,则没有理由不为它建立模型。

您可能希望限制其resource定义,或者根本不映射它,以避免访问。 也就是说,您可能希望能够更新它:Web界面是一种简单的方法,无论是文件驱动还是用户驱动。

其他选项包括从配置文件(Yaml,XML,特定于供应商)加载它,从服务中检索它等。这些解决方案可以是独立的,也可以利用模型支持的方法。