【问题标题】:Flash and rails with HTML带有 HTML 的 Flash 和 rails
【发布时间】:2015-07-11 22:00:35
【问题描述】:

我正在尝试将一个简单的笑脸放入 Flash 消息中,如下所示:

flash[:info] = "Please check your email to activate your account ☺"

来自控制器

if @user.save      
   flash[:info] = "Please check your email to activate your account ☺"

如何让 ruby​​ 执行此代码,它在我输入问题时就可以正常工作,但在我的 rails 应用程序上并不那么幸运。我将我的 flash 渲染为 application.html.haml 页面上的部分内容,该页面只是循环浏览 flash 消息并显示消息。

_flash.html.haml

-flash.each do |message_type, message|
    =content_tag(:div, message, class: "alert alert-#{message_type}")

【问题讨论】:

    标签: html ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-4.2


    【解决方案1】:

    你可以使用sanitize()来渲染html实体而不是转义它:

    =content_tag(:div, sanitize(message), class: "alert alert-#{message_type}", escape: false)
    

    【讨论】:

    • 这对我来说就像是视图渲染
    • @SpencerHire:好吧,在你看来,清理你的输出(显示你的 Flash 消息的地方)。
    • @SpencerHire:不是这样,完全在layouts/flash 文件中,您可以在其中输出消息。
    • @SpencerHire:您做错了,只需在问题中发布您的layouts/flash 文件即可。
    • @SpencerHire:顺便问一下,你的 rails 版本是什么?
    猜你喜欢
    • 2013-03-14
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多