我试图找出“正确”的方法来做到这一点。
在我的应用程序中,每次创建新用户时,我都希望将特定数据加载到关联的表中。关联表是不同的预设列表。因此,用户有许多列表,这些列表包含许多项目。我想在创建用户时加载其中一些项目。
我真的不知道如何去做这件事,但我猜是这样的: 创建用户 after_create:创建列表(需要列表名称的现有数据) after_create List然后使用这些列表的现有数据填充Items表。
我应该使用种子数据吗?这对于生产是否正常,如果是这样,我将如何做到这一点。
非常感谢任何指导或其他建议。
答案 0 :(得分:1)
Seed实际上是在第一次部署应用程序时插入数据。
如果要创建附加到特定事件的记录,那么您的方法可能是最好的方法。如果有很多数据,你可以将它外部化为YAML或其他类似的东西,但after_create在几种情况下对我来说很好。
class User < ActiveRecord
def after_create
List.create
end
end
有时效果很好的一个方便的技巧是在系统中拥有一个规范用户 - 加载这些数据并为当前用户克隆它。
答案 1 :(得分:0)
使用种子实际上是为了插入您的应用程序所需的所有数据,如列表。
对我来说这是好方法。我没有指针。例如,在redmine中有一个bootstrap插入。