0

だから私はPostモデルとUserモデルを持っています。投稿はユーザーに属し、ユーザーは多くの投稿を持つことができます:

 => #<Post id: 1, title: "First post", content: "first post", created_at: "2013-07-07 17:30:55", updated_at: "2013-07-07 17:30:55", user_id: 1> 
1.9.3-p0 :015 > user
 => #<User id: 1, name: "Jano", email: "jano@gmail.com", created_at: "2013-07-07 17:31:41", updated_at: "2013-07-07 17:31:41"> 

post.userこれまでのところ動作します:

1.9.3-p0 :016 > post.user
 => #<User id: 1, name: "Jano", email: "jano@gmail.com", created_at: "2013-07-07 17:31:41", updated_at: "2013-07-07 17:31:41"> 
1.9.3-p0 :017 > 

しかし、私がするときuser.posts

1.9.3-p0 :017 > user.posts
  Post Load (0.6ms)  SELECT "posts".* FROM "posts" WHERE "posts"."user_id" = ?  [["user_id", 1]]
 => #<ActiveRecord::Associations::CollectionProxy []> 
1.9.3-p0 :018 > 

投稿はわかりませんが、奇妙な#<ActiveRecord::Associations::CollectionProxy []>ことです。

Rails 3 でこれを見たことはないと思いますuser.posts。Rails 4 で呼び出す別の方法はありますか?

4

1 に答える 1

1

コンソール内の実際の結果が必要な場合はto_a、最後に追加する必要があります。

user.posts.to_a
于 2013-07-07T18:11:28.190 に答える