Has_and_belongs_to_many в Rails 3 - PullRequest
       4

Has_and_belongs_to_many в Rails 3

0 голосов
/ 05 августа 2011

Я пытался просмотреть стекопоток, чтобы исправить мою ситуацию, но, к сожалению, я просто запутался.

У меня есть два отношения has_many к has_many: пользователи has_and_belongs_to_many Роли и роли has_and_belongs_to_many. Я уже настроил правильные таблицы и все (т.е. таблицы role_users и pod_roles): я знаю, что это по крайней мере частично работает, потому что я могу сделать @ user.roles и получить все роли этого пользователя.

Однако я хочу сделать еще один шаг вперед: я хочу сделать что-то похожее на @ user.roles.pods, чтобы получить все модули, относящиеся к этому пользователю. После того, как @ user.roles.pods не работал: вот что я пытался сделать:

@current_user_roles = current_user.roles
@pods = Array.new
@current_user_roles.each do |role|
  @pods.push(role.pods)
end
@pods.each do |pod|
  puts(pod.name+"-----------------")
end

Не сработало. Это просто попытка получить что-то очень простое - попытка заставить имена всех модулей отображаться, и я могу сказать, работает ли это.

1 Ответ

0 голосов
/ 05 августа 2011

Вот что вы можете попробовать:

@pods = current_user.roles.collect { |role| role.pods }.flatten
...