2010-11-19 7 views

答えて

1

データベースにアクセスしているWebアプリケーションのみを使用する必要はありません。他のアプリでデータベースにアクセスしたい場合や、直接外部キーを作成することをお勧めします。外部キーを作成すると、何が起こっているのかが分かりやすくなり、誤った情報を挿入したり、エラーで削除することができなくなりますあなたがon deleteオプションを設定した場合)

+0

あなたはa.destroyの削除を意味しますか?または:dependent =>:destroy? – wizztjh

+1

Railsでは、deleteは単一レコードだけを削除し、destroyはレコードと子を削除します。しかし、何か理由であなたがレコードを削除しようとすると、コンソールやGUIを介してDBに入力するときに、それが養子を残す原因になる場合は、あなたを放置しません。 –

3

このような制約を作成する必要はありません。ジョイン・テーブルを作成するには、スタンドアロン・マイグレーションを作成するだけです。 あなたはhabtm、UserとRoleという2つのモデルを持っています。あなたの移行、それをだ

create_table :roles_users, :id => false do |t| 
    t.references :user 
    t.references :role 
end 

>> script/generate migration roles_users 

+0

オハイオ州、ありがとう、私はちょうどあなたがなぜ無効になっているのが不思議です:id? – wizztjh

+0

id主キーは必要ないためです。 – Shreyas

関連する問題