Как дать разрешение на редактирование / уничтожение ссылок на индивидуальной основе в пользовательском индексе rails?
Я использую Rails3, Devise и CanCan для определения ролевых способностей.
Я бы хотел, чтобы текущий пользователь мог видеть и получать доступ к ссылке для редактирования / удаления своего профиля на странице индекса пользователя. Они не должны видеть или получать доступ к этим ссылкам для всех других пользователей.
Я настроил следующее в индексном представлении:
<% if can? :update, @user %>
<%= link_to 'Edit', edit_user_registration_path(@user) %> |
<% end %>
А в способностях.рб
def initialize(user)
can :update, User, :id => user.id
if user.role? :super_admin
can :manage, :all
end
end
Мой superadmin может видеть и редактировать ссылки для всех пользователей в индексе.
Мой пользователь может видеть ссылки ни для кого, даже для себя.
Чем больше я читаю об этом, тем больше запутываюсь, что с devise, cancan и моделью пользователя все играют роль.
Я был бы признателен за подтверждение того, что я на правильном пути, и был бы благодарен за любые указания на полезную информацию, которая поможет мне понять это.
Большое спасибо