2016-09-14 11 views
0

私はデータベースアーキテクチャを構築しています。レールアソシエーションを定義する

著者

name, has_many:questions, has_many:comments, has_many:edits 

質問

title, body , author_id, has_many:comments, belongs_to:author 

コメント

body, question_id, author_id, belongs_to:question, has_many:edits, belongs_to:author 
:私も、だから私はモデルを次ているでしょう this guide を読んだことがありますあなたが見ることができるよう

編集

body, comment_id, author_id, belongs_to:comment, belongs_to:author 

、質問は多くのコメントを持つことができ、各コメントには、多くの編集を持つことができます。著者は多くの質問、編集、コメントを持つことができます

主な質問は:has_manybelongs_toのアソシエーションを正しく使用しましたか?

追加情報: それが関連している場合、私は知らないが、私は、次の足場の移行を使用したい:

rails generate scaffold Question title:string body:text author_id:integer has_many:comments belongs_to:author 

rails generate scaffold Comment body:text question_id:integer author_id:integer belongs_to:question has_many:edits belongs_to:author 

rails generate scaffold Edit body:text comment_id:integer author_id:integer belongs_to:comment belongs_to:author 

rails generate scaffold Author name:string has_many:questions has_many:comments has_many:edits 

UPD:私の足場が間違っています。私はこのようなものを使用する必要があります。文字列本体:テキストユーザー:テキストユーザー:参照の質問:参照
レールが足場編集体生成:テキストユーザー:リファレンスを参照 レールが足場コメント本体を生成

レールは、足場の質問のタイトルを生成します質問:参照

As suggested here

+0

なぜ誰かがこれを落としたのですか? – user2950593

+0

あなたのモデルとその関連をコードとしてフォーマットできますか?実際のコードを見れば、関連の論理に従う方が簡単です。 – jaydel

答えて

0

あなたの団体や足場の両方が正しいです。私はちょうど依存を使用するための助言をしています::破壊すべてのあなたのbelongs_toの関連付けの後、例えば著者が削除されると、彼のすべての質問がデータベースからも削除されます。例えば

Class Question < ActiveRecord::Base 
belongs_to :author, dependent: :destroy 
end 

あなたは、データベースに大きな混乱を避けることができる方法。

関連する問題