0

首先对我糟糕的英语感到抱歉。我已经安装了 cancan 和 bigbluebutton_rails, https://github.com/mconf/bigbluebutton_rails。gem bigbluebutton_rails 有一些模型和控制器,例如 bigbluebutton/servers_controller.rb。这个控制器有一些操作,如创建、加入、授权等。我希望只有具有角色管理员的用户才能创建。我能做些什么?我需要将 load_and_authorize_resource 放在 bigbluebutton/servers_controller.rb 中吗?但它在 gem 中,我认为不建议修改 gems 代码。

4

3 回答 3

2

他们有一个与 cancan 集成的页面:https ://github.com/mconf/bigbluebutton_rails/wiki/How-to%3A-Integrate-with-CanCan

但是emmm,还没写。。。

所以......他们还有一个与 Devise 集成的页面:https ://github.com/mconf/bigbluebutton_rails/wiki/How-to%3A-Integrate-with-Devise已经写好了,所以从中推断接受的方式是继承Bigbluebutton::ServersController.

如何创建自定义服务器控制器,如下所示:

class CustomServersController < Bigbluebutton::ServersController
  load_and_authorize_resource!
end
于 2012-10-03T07:25:51.143 回答
0

补充 Sam Peacey 的答案,现在 BigbluebuttonRails 有一个(相当简单的)wiki 页面,描述如何将其与 CanCan 集成:https ://github.com/mconf/bigbluebutton_rails/wiki/How-to:-Integrate-with-CanCan

您还可以使用应用程序 Mconf-Web ( https://github.com/mconf/mconf-web ) 作为示例。当前分支中的版本branch-v2( https://github.com/mconf/mconf-web/tree/branch-v2 ) 使用 CanCan、Devise 和 BigbluebuttonRails,所有这些都一起工作。

于 2014-06-07T19:56:23.660 回答
0

在 ruby​​ 中你可以重新打开类,所以在 /config/initializers/bigbluebutton.rb 中放一些代码,上面写着

require 'bigbluebutton'

class Bigbluebutton::ServersController < ApplicationController
  load_and_authorize_resource!

  # you also have to overwrite this method so the @server loaded
  # by CanCan is not overwritten by Bigbluebutton
  def find_server
    @server ||= BigbluebuttonServer.find_by_param(params[:id])
  end
end
于 2012-10-03T07:57:46.987 回答