【问题标题】:Undefined local variable of method on partial. Flash notice部分方法的未定义局部变量。闪光通知
【发布时间】:2014-09-12 16:32:32
【问题描述】:

我正在尝试使用 growlflash 并根据文档设置所有内容。 https://github.com/estum/growlyflash

我在渲染的 partial.html.haml 中有这一行

#header_message = growlyflash_static_notices

该部分是从我的 application.html.haml 加载的

= render 'shared/app_responsive_header'

但是当部分加载时,我得到这个错误

undefined local variable or method `growlyflash_static_notices' for #<#<Class:0x007fe7fb09bd80>:0x007fe7fe889df0>

我渲染部分错误吗?为什么我不能让它工作。

【问题讨论】:

    标签: ruby-on-rails ruby gem haml


    【解决方案1】:

    试试:

    = render partial: 'shared/app_responsive_header', locals: {growlyflash_static_notices: growlyflash_static_notices}
    

    更新:

    仅查看其 github 存储库的链接,这不会为您解决问题。如果您查看其 docs,它会说:

    对于非 XHR 请求,在其他 javascript 之前附加以下内容:

    <%= growlyflash_static_notices %>
    

    并且需要在 app/assets/javascripts/application.js 中使用 glowlyflash

    //= require growlyflash/growlyflash
    

    并查看您的代码,您可能在 body 标记中调用它,根据文档这是错误的。你需要在你的 application.html.slim 中有这样的东西

    head
      // other code
      = growlyflash_static_notices
      = stylesheet_link_tag    "application", :media => "all" %>
      = javascript_include_tag "application" %>
      = csrf_meta_tags %>
    

    在 application.js 中添加这一行

     //= require growlyflash/growlyflash
    

    【讨论】:

    • 感谢您的快速回复。我仍然有这个问题。如果我将 = growlyflash_static_notices 添加到我的 layouts/app_responsive.html.haml 文件中,我仍然会遇到同样的错误。 layouts/app_responsive.html.haml 正在加载,而不是我的 application.html.haml。
    • @user3646167 我没用过,所以不太了解。我刚刚阅读了文档并指出了这一点。你试过第一种方法吗?这对你有用吗?
    • @user3646167 是否在将其添加到 gem 文件后捆绑安装它,是否在 application.js 中需要它?
    • 第一次修复无效,所有内容都捆绑在 application.js 中并需要
    • @user3646167 刚刚在我的应用程序中测试了这个,第二种方法对我有用
    【解决方案2】:

    Partials 不能从其他模板访问局部变量,尽管它们可以访问实例变量。渲染时使用 locals 选项在局部变量中设置任何局部变量:

    = render partial: 'shared/app_responsive_header', locals: {growlyflash_static_notices: growlyflash_static_notices}
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-10
    • 2017-01-26
    • 1970-01-01
    • 2018-04-19
    • 2015-01-01
    相关资源
    最近更新 更多