Я использую канкан для своего приложения
Мой класс способности.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user
if user.role? :admin
can :manage, :all
elsif user.role? :operations
can :manage, :all
elsif user.role? :customer_support
can :read, :all
else
user.role? :marketing
can :read, :all
end
end
end
, и я добавляю метод в user.rb
def role?(role)
self.roles.include? role.to_s
end
Я такжедобавьте load_and_authorize_resource в моем контроллере, например, products_controller, который может авторизовать пользователя и разрешить ему выполнять определенные действия в этом контроллере, но моя проблема в том, что когда пользователь входит в систему с правами администратора, он не может добавить новый продукт, и доступ запрещеношибка cancan.
мой взгляд
<% if can? :create, Product %>
<td class="action"><%= link_to 'Show', product %></td>
<td class="action"><%= link_to 'Edit', edit_product_path( product) %></td>
<td class="action"><%= link_to 'Destroy', product, :confirm => 'Are you sure?', :method => :delete %></td>
<% end %>
он также не показывает эту ссылку для администратора, так как есть все права доступа администратора, но все же он не может получить доступ к этому действию?
что еще мне не хватает?
plz help?