belongs_to是否在Rails 5中创建了一个关联?

时间:2016-11-24 12:25:07

标签: ruby-on-rails ruby ruby-on-rails-5

我有以下型号:

class User
  has_many :items
end

class Item
  belongs_to :user
end

我在create_tableitems

t.belongs_to :person

我正在使用Rails 5,我看到这会自动在person_id表中创建items的索引。但是,根据这个SO thread,这不应该发生。

答案是否错误或是否已添加到Rails 5(或某些Rails 4.x版本)中?

2 个答案:

答案 0 :(得分:2)

  

belongs_to是否在Rails 5中创建关联?

belongs_toreferences的别名,它是:

  • person_id表格中创建items列;
  • person_id列添加索引。

答案 1 :(得分:0)

不应该。

正如@Andrey所提到的,belongs_toreferences的别名。如果您按照文档操作,则会在内部看到references使用connection.add_reference。在connection.add_reference文档中,您可以看到options,并且可以看到index

:index

  Add an appropriate index. Defaults to false.

  See add_index for usage of this option.

因此,默认情况下,将索引添加到数据库的index选项设置为false。您应该在references

中明确设置它