Как работает CanTango? - PullRequest
       0

Как работает CanTango?

0 голосов
/ 04 октября 2011

Я новичок в 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 мне не помогает.

1 Ответ

0 голосов
/ 27 октября 2011

Следуйте инструкции здесь: 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...