【问题标题】:rails custom helper does not concatenate divsrails 自定义助手不连接 div
【发布时间】:2014-08-14 22:11:28
【问题描述】:

我有以下辅助方法:

def get_divs_for(attr)
    content_tag :div, class: 'form-group' do
      label_tag attr, class: 'col-sm-2 control-label' +
      content_tag(:div, class: 'col-sm-10') do
        text_field_tag(attr,id: attr, :class => 'form-control') +
        content_tag(:span, attr, id: "message-" + attr, :class => "confirmMessage")
      end
    end
end

但是,不是渲染全部内容:

<div class="form-group">
    <label class="col-sm-2 control-label" for="name">Name</label>
    <div class="col-sm-10">
       <input class="form-control" id="name" name="company[name]" type="text">
       <span id="message-name" class="confirmMessage">Name</span>
     </div>
</div>

我只知道这个:

<div class="form-group">
    <span class="confirmMessage" id="messageName">Name</span>
</div>

我尝试使用连接而不是 +,但得到了相同的结果。

【问题讨论】:

  • 尝试为这个助手使用括号:label_tag attr, class: 'col-sm-2 control-label'。所以像这样:label_tag(attr, class: 'col-sm-2 control-label') +
  • 感谢@pdobb,但还是一样

标签: ruby-on-rails html-helper helpers


【解决方案1】:

成功了:

def get_divs_for(attr)
content_tag(:div, class: "form-group") do
  label_tag(attr, attr, class: "col-sm-2 control-label") +
  content_tag(:div, class: "col-sm-10") do
    text_field_tag(attr, nil, class: "form-control") +
    content_tag(:span, nil, id: "message-" + attr, class: "confirmMessage")
  end
end

结束

显然它对 :class=> 'className and prefered class: 'className' 不太满意

感谢大家的帮助

【讨论】:

  • 我猜它可能是括号,而不是替代的哈希构造......
【解决方案2】:

试试

def get_divs_for(attr)
    content_tag :div, class: 'form-group' do
      label_tag(attr, class: 'col-sm-2 control-label') +
      content_tag(:div, class: 'col-sm-10') do
        text_field_tag(attr,id: attr, :class => 'form-control') +
        content_tag(:span, attr, id: "message-" + attr, :class => "confirmMessage")
      end
    end
end

它试图与您的标签类而不是标签 html 标签连接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 2015-08-11
    • 2020-05-03
    • 2020-11-25
    • 1970-01-01
    • 2018-08-10
    • 2016-01-29
    相关资源
    最近更新 更多