我从这里得到了这个,但是我不知道放在哪里以及我将如何执行它。
我尝试创建类并通过控制台(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
文件。