如何执行下面的代码?从CanCan能力数据库



我从这里得到了这个,但是我不知道放在哪里以及我将如何执行它。

我尝试创建类并通过控制台(rails c)运行此类,但它不工作。

def setup_actions_controllers_db
  write_permission("all", "manage", "Everything", "All operations", true)
  controllers = Dir.new("#{Rails.root}/app/controllers").entries
  controllers.each do |controller|
    if controller =~ /_controller/
      foo_bar = controller.camelize.gsub(".rb","").constantize.new
    end
  end
  # You can change ApplicationController for a super-class used by your restricted controllers
  ApplicationController.subclasses.each do |controller|
    if controller.respond_to?(:permission)  
      clazz, description = controller.permission
      write_permission(clazz, "manage", description, "All operations")
      controller.action_methods.each do |action|
        if action.to_s.index("_callback").nil?
          action_desc, cancan_action = eval_cancan_action(action)
          write_permission(clazz, cancan_action, description, action_desc)
        end
      end
    end
  end
end
and so on ...

请帮我一下。谢谢你

您必须使用该代码创建一个rake任务,然后运行该任务,以便填充新创建的Permission表。要创建rake任务,需要在lib/tasks/<newtask>.rake中添加<newtask>.rake文件。

最新更新