2016-09-28 8 views
0

ユーザショーページにユーザの最初のマイクロポストの内容を表示します。 投稿とユーザーIDを受け入れる名前と電子メールとマイクロポストを受け入れるユーザーが既にいます。私の推測では、マイクロポストのユーザーをユーザーのIDに接続する必要がありますが、どうしたらいいかわかりません。2つのモデルをレールに接続する方法5

+2

こんにちは、 StackOverflowを歓迎します。 Michael Hartlの_Ruby on Rails Tutorial_に従っているようです。あなたの最高のチャンスは、より詳細な情報を提供するための答えを得ることで、あなたの質問が見つけやすくなり、他のユーザーにとってより便利になります。たとえば、既存のコード、期待していること、起こっていることを追加します。 – tompave

+0

@ user.micropostsを返すとどうなりますか?コンソールにUser.first.micropostsと入力すると、何が起きますか?モデル内で関連付けを設定する必要があるか、または関連するオブジェクトにアクセスする方法がわかっていないかもしれません。 –

+0

@ user.micropostの結果は、#です。 User.first.micropostsは私が望む情報を取得します。私はすでにhas_manyを持っています:私のユーザのマイクロポストとMicrpostsのbelongs_to。 User.micropost.firstを取得するコードはどこに置く必要がありますか? –

答えて

0

あなたが探しているのは、単純なモデル関係を作ることです。関連するモデルファイルで関係を定義することによって、これを行うことができます。

投稿のuser_idフィールドとuserのidフィールドをリンクする外部キーの関係に基づいて、投稿をユーザーにリンクしたいとします。投稿モデルファイルでは次のようにしてください:

belongs_to :user 

これにより、モデル間でデータを結合する際に、どのようにクエリを適切に構造化するかを知ることができます。

0

アプリ/モデル/ micropost.rb

class User < ActiveRecord::Migration 
    has_many :microposts 
    # attributes :id, :name, :email 
end 

アプリ/モデル/ user.rb

のようなものを持っていなければならない問題の説明によると、
class Micropost < ActiveRecord::Migration 
    belongs_to :user 
    # attributes :id, :user_id, :post 
end 
+0

私はすでにこれらを自分のコードに持っていますが、次にUser.first.micropostsの値を取得してhtmlファイルに表示するにはどうしたらいいですか? –

関連する問題