我正在创建一个Rails应用程序,并想知道哪个更好:
在数据库中存储默认数据(如类别名称)并通过查询获取数据;
或在ApplicationController中创建一个方法,以category_id
作为参数,返回有关所需类别的信息?
Obs:很少会改变这些值。
谢谢你, 加布里埃尔。
答案 0 :(得分:2)
我总是以这种方式思考:
类别之类的东西是来自客户的数据 - 如果它们来自客户,则让客户控制内部的内容(并节省您自己的时间) 改变源代码)。像这样,他们可以提供excel / cvs文件,您可以使用它来为初始记录播种数据库(并且不更改源代码)。它也更容易 如果类别在db中,稍后在SQL(连接)中制作不同的技巧。
恕我直言,我将使用硬编码散列/数组的唯一地方是一些(2-3)多值属性,如用户角色(当然,如果它们是静态的)。
答案 1 :(得分:1)
一种常见的模式可能是将数据存储在数据库表中(在这种情况下,创建一个categories
表)并像往常一样使用ActiveRecord关联。
您可以拥有种子数据来维护类别的值。有很多插件可以解决种子数据问题,但是现在Rails有一个rake任务,可以在db / seed.rb中运行代码。 This railscast将向您介绍详细信息。