首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Declarative_Authorization的单元格

使用Declarative_Authorization的单元格
EN

Stack Overflow用户
提问于 2011-06-28 23:47:01
回答 1查看 435关注 0票数 0

使用gem、cell和declarative_authorization (以及Devise),我正在尝试如何包含permitted_to?添加到单元格模板中。到目前为止,我已经将这个添加到了我的cells Cell中( Devise one适用于它的助手):

代码语言:javascript
复制
class SidebarCell < Cell::Rails
    include Devise::Controllers::Helpers
    helper_method :current_user
    include Authorization::AuthorizationHelper
    helper_method :permitted_to?



  def display(args)
    @object = args[:object]
    @notice = args[:notice]
    @alert = args[:alert]
    render
  end

end

但declarative_auth助手模块使用了以下代码,这是一个爆炸性的事实:

代码语言:javascript
复制
def permitted_to? (privilege, object_or_sym = nil, options = {}, &block)
      controller.permitted_to?(privilege, object_or_sym, options, &block)
    end

显然,这给了我们

代码语言:javascript
复制
undefined local variable or method `controller' for ...

更新:

经过进一步的思考,我不确定这是否适用于细胞。Declarative_auth需要控制器来作为其规则的基础,但Cells与该控制器无关。在我看来,这两者似乎是不兼容的,除非我将对控制器的引用传递到单元格中?开始认为细胞不是解决问题的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-29 20:16:29

如果添加以下内容,则会起作用

代码语言:javascript
复制
helper_method :controller

这只是委派:

代码语言:javascript
复制
def controller
  parent_controller
end

很抱歉给您带来不便,但是Rails中的整个helper架构都很糟糕:http://nicksda.apotomo.de/2011/10/rails-misapprehensions-helpers-are-shit/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6509247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档