Ruby on rails 4 当对同一模型有多个引用时,迁移级别上的Rails 4.2外键定义

Ruby on rails 4 当对同一模型有多个引用时,迁移级别上的Rails 4.2外键定义,ruby-on-rails-4,Ruby On Rails 4,我理解如何定义此处讨论的两个表之间的简单关系: 在这里: 但是,如何在迁移中定义对同一模型的多个引用?例如,使用以前的帖子: add_foreign_key :articles, :authors 而且你希望既有作者的参考,也有作者的编辑。在以前版本的rails模型中,最终会出现如下情况: belongs_to :editor, :class_name => "Author", :foreign_key => "editor_id" 此外,是否有在rails g scaffo

我理解如何定义此处讨论的两个表之间的简单关系:

在这里:

但是,如何在迁移中定义对同一模型的多个引用?例如,使用以前的帖子:

add_foreign_key :articles, :authors
而且你希望既有作者的参考,也有作者的编辑。在以前版本的rails模型中,最终会出现如下情况:

belongs_to :editor, :class_name => "Author", :foreign_key => "editor_id"

此外,是否有在rails g scaffold级别定义此项的语法,或者我是否必须在迁移之后修改迁移?

这就是:

add_column :articles, :author_id, :integer
add_column :articles, :editor_id, :integer
add_foreign_key :articles, :authors
add_foreign_key :articles, :authors, column: :editor_id, primary_key: "id"

只要改变一下,这就行了。authors pk是“id”,所以主键:“author\u id”改为主键:“id”似乎做了正确的事情。在表定义中对列使用t.references也很好