【发布时间】:2016-03-15 06:39:42
【问题描述】:
我有一个名为 Comics 的模型。我的总体目标是让每个漫画都有可选的变体(has_many 漫画)和一个变体_of(belongs_to 漫画)。当我添加一个 variant_of 时,我希望反向变量字段也类似于相同的关系。
我首先创建了一个 variant_of 迁移:
class AddVariantOfToComics < ActiveRecord::Migration
def self.up
add_column :comics, :variant_of, :integer
end
def self.down
remove_column :comics, :variant_of, :integer
end
end
效果非常好。然后我尝试制作一个变体索引,这是我遇到问题的方面:
class AddVariantsToComics < ActiveRecord::Migration
def change
add_index :comics, ['variant_of'], :name => 'variants'
end
end
漫画模型:
class Comic < ActiveRecord::Base
has_many :variants, :class_name => "Comic", :foreign_key => 'variants',
belongs_to :variant_of, :class_name => "Comic", :foreign_key => 'variant_of'
...
end
谁能告诉我如何关联这些字段?索引是正确的方法还是我的命名妨碍了?
【问题讨论】:
-
我真的不知道你想要完成什么。你能用语言解释你希望最终结果能够做什么吗?
标签: ruby-on-rails ruby-on-rails-4 rails-migrations