Вы можете добавить флаг is_admin
к вашей модели User
, как вы предложили. Тогда вы можете окружить каждую опцию администратора вашим условием is_admin?
и использовать некоторые before_filter :admin_required
в своих контроллерах.
application_controller.rb:
# if user is not admin redirect to main page
def admin_required
current_user.is_admin? || redirect_to("/")
end
any_controller.rb:
# Everybody can access show and index action, all others require admin flag set
before_filter :admin_required, :except => [:show, :index]
any_view / show.html.erb
<% if current_user.is_admin? %>
Hi Admin!
Some cool admin stuff
<% else %>
Hi User!
<% end %>
Stuff for everybody