私は、ユーザがグループを作成し、他のユーザがグループに参加できるグループシステムを実装しようとしています。Ruby on Rails - グループのユーザ
<% if current_user == @group.owner %>
しかし、私はしてグループのメンバーを確認することができないよ::
class User < ApplicationRecord
has_many :groups
end
class Group < ApplicationRecord
belongs_to :owner, :class_name => "User"
has_many :members, :class_name => "User"
end
所有者をチェックするとき、私は正常に使用することができ、私はに実行したよう
<%= @group.members.count %>
エラー:
SQLite3::SQLException: no such column: users.group_id: SELECT COUNT(*) FROM "users" WHERE "users"."group_id" = ?
それは私のユーザーがどのようにセットアップされているかと関係がありますが、それを理解することはできません。
また、グループに「参加」しているすべてのユーザーを含むリストを取得できたら、そのユーザーを追加/削除するにはどうすればよいですか?
ありがとうございました。
has_many:members、:class_name => "User"はユーザーテーブルの 'group_id'を期待しています。これはエラーの内容です。 – Abhi
関連するモデル 'Group'によって参照されるように' users'テーブルに外部キー( 'group_id')を追加する必要があります – sa77