В моем приложении Rails у меня есть пользователи, роли и разрешения.Доступ к глубоким вложенным объектам в Rails
Ассоциации являются:
class User < ActiveRecord::Base
has_and_belongs_to_many :roles, :join_table => 'users_roles'
end
class Role < ActiveRecord::Base
has_and_belongs_to_many :users, :join_table => 'users_roles'
has_and_belongs_to_many :permissions, :join_table => 'roles_permissions'
end
class Permission < ActiveRecord::Base
has_and_belongs_to_many :roles, :join_table => 'roles_permissions'
end
При перечислении разрешения я хочу, чтобы получить количество ролей и пользователей для этого разрешения.
я могу сделать:
<% @permissions.each do |permission| %>
<%= permission.roles.count %>
<% end %>
Но если я:
<% @permissions.each do |permission| %>
<%= permission.roles.users.count %>
<% end %>
Я получаю сообщение об ошибке, что users
не определен!
В мой контроллер у меня есть:
@permissions = Permission.includes(roles: :users)
Так должно быть протаскивания пользователей, а также ...
вам нужно добавить ассоциацию с пользовательской моделью в заказы, чтобы получить количество пользователей за это разрешение –