has_many や belongs_to を初めて使ってみたのですが
使い方がよくわかりません
ユーザが所属するグループを以下のように定義しました
class UserGroup < ActiveRecord::Base has_many :users_in_groups def users self.users_in_groups.user end end
class UsersInGroup < ActiveRecord::Base belongs_to :user belongs_to :user_group end
@group.users で所属する user を取り出そうとしたところ
self.users_groups.user
の行で
NoMethodError: undefined method `user' for #<ActiveRecord::Associations::CollectionProxy []>
とうエラーが出ます
has_many と belong_to をかくと model名_id が一致するレコードを
自動的にテーブルからひいてくれるって思ったんですがそういうわけではないんでしょうか
追記:
エラーを見ると UserGroup から UsersInGroup はひけてるみたいです
ただこの時点で複数レコードになってしまってるので
そのさらにサブテーブルをひくには map とかを使わないとだめってことでしょうか
回答1件
あなたの回答
tips
プレビュー