我是Rails的新手,我需要你的帮助。
我有这个:
# config/initializers/cantango.rb
CanTango.config do |config|
config.engines.all :on
# more configuration here...
end
# app/models.User.rb
class User < ActiveRecord::Base
def roles_list
roles_rel = Role.where(:user_id=>self.id)
roles=[]
roles_rel.each do |x|
roles.push(x.name)
end
return roles #return [":reader","writer"] from database
end
end
# app/permits/reader_permits.rb
class ReaderPermit < CanTango::UserPermit
def initialize ability
super
end
protected
def permit_rules
can :read, :all
end
end
在我看来,我有
<%= link_to 'readddd', "/news/feed/read_full?s=#{g.id}&page_id=#{params[:page_id]}" if user_can?(:read, Newsfeed)%>
但我收到错误undefined method 'user_can?' for #<#<Class:0xaf41f50>:0xaf40eac>
请给我一个非常简单的解释,说明我的情况,我必须写的地方和内容。 GitHub对我没有帮助。
答案 0 :(得分:0)
在这里暂停教程: https://github.com/kristianmandrup/cantango/wiki/Quickstart
我想您忘记了这一点:创建并注册用户模型
首先,您必须拥有用户模型。请使用tango_user宏 使用CanTango注册用户类。 CanTango将生成用户 API方法,如#user_can?对于User类,admin_can?为一个 注册管理员用户类等。
class User
# register as a "user class" for CanTango
tango_user
end