所以我昨天才开始我的第一个rails项目。在我的应用程序中,我有两个多对多(has_和_-belies_-to_-many)关系。我有一个模型之间的游戏和团队,另一个模型之间的统计数据和结果。通过迁移自己创建联接表,这一切都很顺利。
然后,我决定不希望统计/结果关系是多对多,而是多对多,因此我运行了以下迁移,并将关系切换为has_many和belown_to:
class FixingResultStatRelationship < ActiveRecord::Migration
def self.up
add_column :results, :stat_id, :integer
drop_table "results_stats"
end
def self.down
remove_column :results, :stat_id
create_table "results_stats", :id => false do |t|
t.column "result_id", :integer
t.column "stat_id", :integer
end
add_index "results_stats", "result_id"
add_index "results_stats", "stat_id"
end
end
然后当我这样做时,新的一对多关系不仅不起作用,因为我在调用say Result.find(0).stat时得到了一个命名错误,但现在我以前与游戏和团队的多对多关系也被打破了。我以前可以称之为游戏。很好(0)。团队只需找到并查看结果,现在我也得到了一个命名错误。有什么想法吗?我完全迷路了,任何帮助都会很好。