0

チュートリアルに従って簡単なブログを作成しました。しかし、もう少し大きなものを試してみたかったのです。だから私はコメントとユーザーのいるブログを作りたかったのです。つまり、私の投稿にはユーザーとコメントの配列が必要です。私のコメントは投稿に属している必要があり、私のユーザーは多くの投稿とコメントを持っています。したがって、問題は私の作成ファイルで、それをどのように処理するかです。文字列、テキスト、整数を使用していました。しかし、配列とユーザー作成モデルの場合はどうでしょうか? ここにリンクがありますコードを確認する要旨 また、潜在的なピットフォールのように見える、私が行っていないことがある場合は、お知らせください。次に、以前モデルに新しい変数を追加したときに、スキーマを更新したい場合は、db:rollback をレーキしてから再度移行する必要がありました。上から移行しようとしただけでは、スキーマが更新されなかったからです。それを行うより良い方法はありますか?

ありがとう。

4

3 に答える 3

2

どのチュートリアルに従っているかはわかりませんが、最適なブログ アプリのチュートリアルは公式ドキュメントにあります。

これを読んだ後、モデル オブジェクトの主な概念が欠けていることがわかります。

ユーザー、投稿、コメントの 3 つのモデルがあります。

モデルは次のようになります。

ユーザー

has_many :posts
has_many :comments

役職

belongs_to :user
has_many :comments

コメント

belongs_to :user
belongs_to :post

移行では、単純に整数を使用して belongs_to 関係を定義します。

移行後の場合: (これは移行の方法によって異なりますが、概念は同じです)

t.integer :user_id

コメント:

t.integer :user_id
t.integer :post_id

ガイドを読めば大丈夫です。

于 2012-08-22T00:38:30.303 に答える
0

Postではbelong_to :userなくhas_one :user

于 2012-08-22T00:38:10.127 に答える
0

You'll want to do a bit of research on database schema design, but basically you need to add foreign keys to your tables and setup relationships between them.

For example, your comments table will need a user_id integer. This will allow a particular comment to "point at" a user, so your application knows who wrote the comment.

Then in your User model, you should add the following:

has_many :comments

And in your Comment model:

belongs_to :user

The same basic idea can be applied to posts.

于 2012-08-22T00:41:12.817 に答える