Ruby on Railsの新機能です。私は外国のキーを使ってレールがどのように動作するのか理解していない、私は数日間それを研究したが、私は答えを得ていない。外部キーでの破壊を避ける
Simpleサンプル:
私は2つのテーブルを作成:
を私のモデルは以下のとおりです。
class Post < ActiveRecord::Base
has_many :comments
end
class Comments < ActiveRecord::Base
belongs_to :post
end
私の疑いがある:私は私のテーブルのコメント(の外部キーを持っています。参照:post、index:true、foreign_key:true)私は、それらに関連付けられたCOMMENTSを持つ投稿を破棄することはできないと思いますか?
私は上記のようにしましたが、コメントが関連付けられていても投稿を破棄することができます。どうすればそれを扱うことができますか?私は間違って何をしていますか?
乾杯
http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_foreign_key http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_many]> [オプション]を参照してください。また、SQL LITEを使用しています。私は.schemaをチェックするとFK doesn; tが作成されたようです: – Costa
sqlite> .schema投稿 CREATE TABLE "posts"( "id" INTEGER PRIMARY KEY AUTOINCREMENT NULLでない、 "ti tle "varchar、" content "テキスト、" created_at "datetime NOT NULL、" updated_at "datetime NOT NULL); – Costa
CREATE TABLE "comments"( "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL、 "author" varchar、 "content" text、 "post_id" integer、 "created_at" datetime NOT NULL、 "updated_at" datetime NOT NULL); CREATE INDEX "index_comments_on_post_id" ON "comments"( "post_id"); – Costa