Rails belongs_to vs parent_id

时间:2014-03-23 22:22:06

标签: mysql ruby-on-rails activerecord ruby-on-rails-4 associations

通用活动记录问题:
- belongs_to association与parent_id列的优点/缺点?
- 关于2?的公约 - belongs_to关联是否强制执行:null => false

class CreateIssues < ActiveRecord::Migration

def change
  create_table :issues do |t|
    t.belongs_to :project

    t.timestamps
  end
end

VS

class CreateIssues < ActiveRecord::Migration

def change
  create_table :issues do |t|
    t.integer :project_id, :null => false

    t.timestamps
  end
end

非常感谢!

1 个答案:

答案 0 :(得分:1)

belongs_to()只是references()的别名,它不强制执行(:null =&gt; false)条件。查看source

我觉得使用references()会更常见,但另外,belongs_to()是一个有效的别名。

手动写出参考文件并不常见,因为ActiveRecord简化了这些关联的方式。