如何停止输出我自己的 html 来源?

How to stop outputing my own html source?

这可能是我遇到过的 werdeist bug。

我目前正在 Rails 的 Ruby 上构建供个人使用的应用程序,距离完成还有很长的路要走。 主要布局如下:

!!!
%html.uk-height-1-1
%head
    = render 'layouts/head'
%body.uk-height-1-1.uk-width-1-1
    = if user_signed_in?
        .alerts
            = render 'layouts/alerts'
        .navbar
            = render 'layouts/navbar'
    .uk-container.uk-height-1-1
        = yield
    = if user_signed_in?
        .footer
            = render 'layouts/footer'

警报和页脚部分仍然是空的,头部部分主要是默认代码 rails 生成(减去 turbolinks),导航栏部分是一个导航栏。 我在应用程序控制器上所做的唯一更改是添加 before_action :authenticate_user!,因此只有登录的用户才能看到主站点。

但是当我 运行 我的服务器时,出现了以下内容:

它将自己的 html 源代码输出为纯文本!
并且这样做两次:首先,在导航栏部分之后,最后一次在页脚部分之后。
我从来没有遇到过类似的情况,任何试图找到此错误根源的尝试都是徒劳的。
我怎样才能阻止这一切,或者至少找到这种疯狂的原因?

将两个 = if 替换为 - if

= 开头的行还将 if 语句的 return 值附加到视图,这是一个非 HTML 安全字符串。

- 开头的行仅被评估为 Ruby 代码,而不向视图附加​​任何内容。