Я использую ruby 2.0.0p247 и rails 4. Мне нужно добавить before_filter в пользовательский контроллер моего приложения, чтобы проверить, принадлежат ли пользователи одной и той же группе до они вызывают методы для других пользователей, таких как (показать). Я не хочу использовать драгоценные камни в своем приложении. Любая помощь приветствуется .. СпасибоRuby on Rails: добавление before_filter для проверки того, что пользователи принадлежат к одной группе
0
A
ответ
1
before_filter :check_for_group, only: [:show] #or add the actions you want here
затем на дне создать приватный метод, чтобы проверить, если 2 пользователи находятся в одной и той же группе
def check_for_group
user_getting_shown = User.find(params[:id])
user_getting_shown.gorups.in?(current_user.groups) # => assuming you have a current_user method that retrives the user session.
end
Однако, если вам нужно много авторизации в приложении вместо использования before_filters вы можете создать только один в контроллере приложения, называемый авторизацией, а затем создать отдельный класс разрешений, из которого вы можете управлять всей логикой авторизации. Это намного проще проверить. У Ryan bates есть 2 замечательных скринкаста по этому вопросу, которые вы должны выписка
http://railscasts.com/episodes/385-authorization-from-scratch-part-1
http://railscasts.com/episodes/385-authorization-from-scratch-part-1
Спасибо вам за ответ Brock90 – Oatmeal