Я пытаюсь реализовать систему Group, в которой пользователь может создать группу и другие пользователи, которые могут присоединиться к группе.Ruby on Rails - пользователи в группах
class User < ApplicationRecord
has_many :groups
end
class Group < ApplicationRecord
belongs_to :owner, :class_name => "User"
has_many :members, :class_name => "User"
end
При проверке владельца, я могу успешно использовать:
<% if current_user == @group.owner %>
Но я не в состоянии проверить членов группы с:
<%= @group.members.count %>
Как я бегу в ошибка:
SQLite3::SQLException: no such column: users.group_id: SELECT COUNT(*) FROM "users" WHERE "users"."group_id" = ?
Я думаю это имеет какое-то отношение к настройке моих пользователей, но не может понять это.
Кроме того, как только я смогу иметь список, содержащий всех пользователей, которые «присоединились» к группе, как мне добавить/удалить пользователей?
Спасибо.
'has_many: members,: class_name =>« Пользователь »' будет ожидать таблицу «group_id» в таблице пользователей, это именно то, что говорит об ошибке. – Abhi
вам нужно добавить внешний ключ ('group_id') в таблицу' users', чтобы получить ссылку от соответствующей модели 'Group' – sa77