Authlogic с декларативными авторизациями — как показать роль пользователя в представлении?

Я использую декларативные роли, учебник Райана Бейтса по Railscast. Я хотел бы показать роль пользователя, который вошел в систему, в представлении. Есть ли какая-либо переменная, которую я могу использовать для отображения имени роли?


person user984621    schedule 23.11.2011    source источник


Ответы (1)


Как говорится в этом руководстве, у пользователя «много» ролей, но вы не вошли в систему как конкретная роль в любой момент времени, вам назначены все они, и все назначенные действительны одновременно. Они связаны с пользовательской моделью:

models/user.rb

has_many :assignments
has_many :roles, :through => :assignments

Таким образом, вы можете показать все роли с помощью чего-то вроде

<%= current_user.roles.join(', ') %>

Предполагая, что current_user является вспомогательным методом, который дает текущий экземпляр модели пользователя, вошедшего в систему.

person DGM    schedule 23.11.2011
comment
Спасибо DGM за ваш ответ, но как я могу получить информацию о том, какова роль current_user? вот это я до сих пор не понимаю - person user984621; 23.11.2011
comment
У пользователя не одна роль, а все роли, как определено параметрами has_many :roles, :through =› :assignments - person DGM; 24.11.2011