在ERB中使用Nokogiri迭代XML离开' 0'最后的char

时间:2018-04-09 09:59:43

标签: ruby-on-rails ruby nokogiri erb

在我的Rails-Application中,我想处理一些在ERB视图中使用的XML。当迭代XML时,有一个随机的" 0"在每个"每个人的结尾,我都不知道它来自何处以及如何摆脱它。

XML来自Controller中的Database-Query,然后将XML存储在' @ template'中:

@template = Nokogiri::XML(@formclass.first[:definition])

XML看起来像这样:

<form-template>
  <fields>
    <field type="radio-group" label="This Label 1" inline="true" class="assessment_value" name="frage1">
      <option label="Immer" value="1">Immer</option>
      <option label="Meistens" value="2">Meistens</option>
    </field>
    <field type="radio-group" label="This other label" inline="true" class="assessment_value" name="frage2">
      <option label="Mehr als einmal am Tag" value="1">Mehr als einmal am Tag</option>
      <option label="Einmal am Tag" value="2">Einmal am Tag</option>
    </field>
  </fields>
</form-template>
在erb-view中

<%= @template.css('field').each do |field_node| -%>
  foo
<% end -%>

结果如下:

  

foo foo 0

在控制器中迭代时,没有&#34; 0&#34;:

@template.css('field').each do |field_node|
  logger.debug("foo")
end
  

FOO   FOO

我做错了什么?非常感谢提前!

1 个答案:

答案 0 :(得分:2)

似乎输出each的整个结果,而您可能想要输出迭代值

<% @template.css('field').each do |field_node| %>
  <%= raw(field_node.text) %>
<% end %>