【发布时间】:2015-03-06 01:20:18
【问题描述】:
我是 ruby on rails 的新手。我创建了一个多对多关联和一个迁移,如下所示:
在Foo 模型中:
has_and_belongs_to_many bars
在Bar 模型中:
has_and_belongs_to_many foos
连接表的迁移内容如下:
def change
create_table :foos_bars, id: false do |t|
t.references :foo
t.references :bar
end
end
现在我看到关联应该是一对多的:foo has many bars。
不知道上面迁移之后有没有生成控制器,但是我知道上面迁移的文件是最后一个在migrate文件夹中创建的。此外,我还没有在任何 foo 和任何 bar 之间建立任何联系。
我可以执行以下操作以重新开始(更改关联并删除迁移文件):
使用 'rake db:rollback'
删除连接表迁移的文件(即timestamp_create_bars_foos.rb文件)
将 foo 中的 'has_and_belongs_to_many' 更改为 'has_many',将 bar 中的 'belongs_to' 更改为 'belongs_to'
运行:'rails 生成迁移 CreateFoosBars'
运行:'rake db:migrate'
如果没有,我该怎么做才能对关联进行上述修改?
提前致谢!
【问题讨论】:
标签: ruby-on-rails ruby