首页 > 解决方案 > rails忽略内容标签

问题描述

我的一个助手中有以下代码:

  def send_fragments_to_other_template(template, counter)
    if counter == 0
      content_tag "div", class: "card w-5c" do
        content_tag "div", class: "card__content resource" do
          content_tag "h4" do
            content_tag "span", "Send fragments to other template"
          end
          link_to "Send", edit_admin_template_fragment_path(template), class: "btn btn--s-purple", remote: true
        end
      end
    end
  end

这是问题所在:无论出于何种原因,rails 都忽略了第三个和第四个内容标签。我在页面上有两个 div 和按钮(锚点),但没有 h4 或跨度。

我究竟做错了什么 ?

标签: ruby-on-railsrubyhelpercontent-tag

解决方案


它看起来类似于堆栈溢出的这篇文章:为什么这个嵌套的 content_tag 不能正确呈现? 这里发生的是 content_tag 只呈现 do-end 块中的最后一个表达式。这可能就是为什么您可以看到“发送”按钮而不是其他按钮的原因。我更喜欢使用行为类似于 puts 的 concat 来解决这个问题。这是上面帖子中的第二个答案^。


推荐阅读