如何在Rails中存储"半常数",关联数据?

时间:2014-06-14 16:40:40

标签: ruby-on-rails-4

因此,假设我需要一个categoriessub_categories列表与表products相关联。当然,categories has_many sub_categories

categoriessub_categories应该很少更改,但仍然可以使用管理员帐户(来自CMS),因此我无法对这些值进行硬编码。

以下是一个例子:

// Last week
categories: [A, B, C]
sub_categories: [1, 2, 3]

// Today
categories: [A, B, D]
sub_categories: [1, 2, 3, 4] 

假设今天的类别和子类别更改是在生产服务器中进行的。 如何在登台服务器中轻松更新这些值

我已经探索了seed.rb选项,但是处理修改会很困惑,每次生产服务器发生变化时都要手动编辑seed.rb(我认为),除非另有办法做这个。此外,categoriessub_categories之间存在关联问题。

请注意,categories表与countriesarea_codesmarital_statuses非常相似。除了变化更频繁。

任何建议都将不胜感激。 谢谢!

更新:这是SeedFu::Writer生成的文件:

Category.seed(:id,
   #<Category id: 1, name: A>
   #<Category id: 2, name: B>
)

种子被注释掉了。这是正常的吗?

1 个答案:

答案 0 :(得分:0)

我认为seed-fu可能会对您有所帮助。您可以为此模板数据创建模型,然后编写rake任务以编写和更新此模型中的seed-fu文件。

写作模块的

Here is documentation

更新seed-fu文件后,您可以将其提交给相同任务的git,然后将just include it提交到Capistrano部署中。