t.references
과 의 차이점은 무엇입니까 t.belongs_to
? 왜 우리는 그 두 단어를 가지고 있습니까? 그들이 똑같은 일을하는 것 같습니까? Google 검색을 시도했지만 설명이 없습니다.
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos do |t|
t.references :bar
t.belongs_to :baz
# The two above seems to give similar results
t.belongs_to :fooable, :polymorphic => true
# I have not tried polymorphic with t.references
t.timestamps
end
end
end
1
그들은 똑같이 작동합니다-그게 그렇게 나쁜가요? 참조는 외래 키 열을 삽입합니다. 대신 belongs_to를 사용하여 마이그레이션을 더 읽기 쉽게 만들 수 있습니다. 자세한 내용은 guides.rubyonrails.org/migrations.html 을 참조 하세요.
—
muffinista 2011 년
나쁜 일이라고 말하지 않습니다. 그들이 동일하게 작동하는지 또는 다른 방식으로 작동하는지에 대해 혼란스러워했습니다. 동일하게 작동한다는 특정 문서를 찾을 수 없기 때문입니다. http://guides.rubyonrails.org/migrations.html 도 그 문제에 대해 명확하지 않습니다.
—
Tornskaden
이는 이전 버전과의 호환성을위한 것일
—
bricker
references
수 있으며 향후 레일 릴리스에서 더 이상 사용되지 않으며 제거 될 것입니다. 이것에 대해 내 말을 받아들이지 마십시오. 그것은 단지 교육받은 추측입니다.
"다른 도우미는 참조 (
—
소속 _
또한 여기에 소스 코드는 - belongs_to가 참조 직선 별칭입니다 github.com/rails/rails/blob/...
—
muffinista