【问题标题】:Rails Load Data into Application every time a New User is Created每次创建新用户时,Rails 都会将数据加载到应用程序中
【发布时间】:2010-03-28 19:50:22
【问题描述】:

我正在尝试找出“正确”的方法。

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

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

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

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

【问题讨论】:

    标签: ruby-on-rails seed after-create


    【解决方案1】:

    Seed 真正用于在应用程序的第一次部署时插入数据。

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

    class User < ActiveRecord
    
      def after_create
         List.create
      end
    end
    

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-03-22
        • 2017-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多