Ruby on Rails:我应该如何使用帐户特定数据为数据库播种?

问题描述

| 我正在使用Rails 3创建一个SAAS应用程序。当用户创建一个新帐户时,数据库中需要填充大量数据。一些数据将特定于新创建的帐户。我不一定要通过控制器的“注册”动作中的模型来完成所有这些操作。最好的方法是什么?     

解决方法

从事物的声音来看,您应该在User模型中使用回调。最可能的是:a0ѭ或
after_create
(取决于您的确切需求)。然后,您可以让用户模型而不是您的控制器来处理帐户特定数据的创建,从而遵循“胖模型,瘦控制器”的理想。
class User < ActiveRecord::Base
  after_create :setup_account_data

  private
  def setup_account_data
    # create other data as required
  end
end
确实非常简单,在创建用户模型后-将调用
setup_account_data
方法。其他可用回调的列表在这里。     ,我想到了几种方法。 简单的红宝石。这类似于运行rake db:seed时执行的操作-执行ruby脚本。 固定装置。如果将数据库转储到灯具[http://snippets.dzone.com/posts/show/4468],则可以修改灯具,以便需要定制的数据在erb块中完成。这是测试夹具中经常使用的相同技术。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...