【问题标题】:Rails & Slim: autoclosed tag does not fetch contentRails & Slim:自动关闭标签不获取内容
【发布时间】:2016-02-12 21:40:19
【问题描述】:

我有这个模板:

div class="col-md-offset-4 col-md-16"
  - if @campaign.errors.any?
    ul
  - @campaign.errors.full_messages.each do |e|
    li |e
= form_for @campaign do |f|
  div.form-group
  = f.label :name, class: "control-label"
  = f.text_field :name, class: "form-control"
  div.form-group
  = f.label :ad_link, class: "control-label"
  = f.text_field :link, class: "form-control"
  div.form-group
  = f.label :image, class: "control-label"
  = f.file_field :campaign_image, class: "file"
  div.form-group
  = f.submit "Create campaign"

呈现以下 html:

<div class="col-md-offset-4 col-md-16"></div>
<form ...> </form>

所以它让我清空 div 并在其下形成表格,而不是在 div 内部形成表格。

我尝试通过插入常用的 html 来解决它:

<div class="col-md-offset-4 col-md-16">
      - if @campaign.errors.any?
        ul
      - @campaign.errors.full_messages.each do |e|
        li |e
    = form_for @campaign do |f|
      div.form-group
      = f.label :name, class: "control-label"
      = f.text_field :name, class: "form-control"
      div.form-group
      = f.label :ad_link, class: "control-label"
      = f.text_field :link, class: "form-control"
      div.form-group
      = f.label :image, class: "control-label"
      = f.file_field :campaign_image, class: "file"
      div.form-group
      = f.submit "Create campaign"
</div>

但结果出现了一些奇怪的输出,其中表单标签开始内联在 div 内,并且没有捕获任何字段或提交按钮。

【问题讨论】:

    标签: ruby-on-rails slim-lang


    【解决方案1】:

    缩进在slim 中非常重要。查看there 文档。所以,你必须这样写:

    div class="col-md-offset-4 col-md-16"
      |
      - if @campaign.errors.any?
        ul
      - @campaign.errors.full_messages.each do |e|
        li |e
      = form_for @campaign do |f|
          div.form-group
            = f.label :name, class: "control-label"
            = f.text_field :name, class: "form-control"
          div.form-group
            = f.label :ad_link, class: "control-label"
            = f.text_field :link, class: "form-control"
          div.form-group
            = f.label :image, class: "control-label"
            = f.file_field :campaign_image, class: "file"
          div.form-group
            = f.submit "Create campaign"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多