1

我试图找出“正确”的方法来做到这一点。

在我的应用程序中,每次创建新用户时,我都希望将特定数据加载到关联表中。关联表是不同的预设列表。所以一个用户有很多列表,这些列表有很多项目。我想在创建用户时加载其中一些项目。

我真的不知道该怎么做,但我猜想是这样的:创建用户 after_create:创建列表(列表名称需要已经存在的数据) after_create List 然后用这些列表的现有数据填充 Items 表。

我应该为此使用种子数据吗?这对生产来说可以吗?如果可以,我将如何去做。

非常感谢任何指导或其他建议。

4

2 回答 2

1

种子实际上是用于在应用程序的第一次部署时插入数据。

如果您要创建附加到特定事件的记录,那么您的方法可能是最好的方法。如果有很多数据,您可以将其外部化为 YAML 或类似的东西,但 after_create 在几种情况下对我来说都很好。

class User < ActiveRecord

  def after_create
     List.create
  end
end

有时效果很好的一个方便的技巧是在系统中拥有一个规范用户 - 加载此数据并为您当前的用户克隆它。

于 2010-03-28T21:46:22.640 回答
0

种子的使用实际上是为了插入应用程序所需的所有数据,例如列表。

对我来说这是个好方法。我没有指针。例如,在 redmine 中有一个引导插入。

于 2010-03-28T20:33:55.327 回答