2015-07-27 3 views
0

Я следующие моделиRails показать конкретные результаты из базы данных

class Client < ActiveRecord::Base 
    has_many :users, :dependent => :destroy 

class User < ActiveRecord::Base 
    belongs_to :client 
    has_and_belongs_to_many :user_groups 

class UserGroup < ActiveRecord::Base 
    has_and_belongs_to_many :users 
    has_and_belongs_to_many :courses 
end 

class UserGroupUser < ActiveRecord::Base 

Теперь я хочу, чтобы отобразить для одного пользователя, какие группы пользователей он принадлежит.

Я попытался это:

@usergroups = UserGroup.joins(:users).where('user_groups.client_id IN (?)', [@current_client.id, session[:user_id]]).group('name').order('name') 

Но результат ничего, но не то, что я ожидал. ...

группы пользователей пользователей выглядит следующим образом: enter image description here

Я хочу список всех user_Groups за один user_id как я могу этого достичь?

ответ

1

ли вы попробовать:

User.find(user_id).try(:user_groups) 

или если у вас есть объект доступен для пользователя (об этом, это не пустой):

user.user_groups 
+0

Спасибо. Я пробовал это: @usergroups = 'User.find (session [: user_id]). User_groups' -> Результат пуст – Felix

+0

Просто дважды проверьте: whats значение' session [: user_id] '? Совет. Если вы используете драгоценный камень, попробуйте использовать 'current_user'. –

+0

Я уже проверил сеанс [: user_ID] - это правильный идентификатор, который работает. Я вхожу в user.find ... Является ли проблема? – Felix

Смежные вопросы