寻找一个好主意,一个好的红宝石结构(Looking for a good idea and a go

2019-10-17 17:19发布

我写一个Rake任务来填充数据库,用于开发目的有一些数据的工作。 (但在测试我使用FactoryGirl,所以没有那回事。)

所以我们可以说我有两个样品组织在我的演示数据库,所以我这样定义他们:

sample_organizations = [ '37 Signals', 'Fog Creek']

然后一个小方法来填充像这样的DB:

def create_organizations
  sample_organization.each { |item|
    Organization.first_or_create(
        name: item,
        time_zone: 'Central'
    )
  }
end

如此好事是,从现在开始,如果我想添加第三个组织中的两个个月,我刚去的我的代码顶部和手数组中键入另一个组织名称。 方法仍然有效,并创建它。

现在,这里开始的问题:我有更多的表来填充! 例如汇总表,该表挂表组织的,所以每个组织可以有很多总结,所以我们有一个organization_id foreign key在汇总表填写过。 但我仍希望有一个像方法create_summaries ,做类似的东西create_organization上面的方法,但这个时候填写汇总表和棘手的部分是填写表格的那个领域的organization_ID。

我应该如何看待呢? 比方说,汇总表有以下字段: id (auto generate by Rails) , organization_id, name, member_count

Answer 1:

尝试使用填充器宝石像这样的任务。 这是很容易使用,并且可以产生复杂的结构。 截屏 。

正如你不能使用那些使用随机选择一个父对象,或名称中的哈希指定一个。

summaries = [{:name => "foo", :organization => "bar"}]


文章来源: Looking for a good idea and a good Ruby structure