Ruby on rails 循环数组以创建HTML元素

Ruby on rails 循环数组以创建HTML元素,ruby-on-rails,Ruby On Rails,使用RubyonRails3.2。我正在尝试根据定义的数组创建多个隐藏字段标记。下面是我的代码: # shop.rb ... ADDRESS_COMPONENTS = ['lat', 'lng', 'name'] ... # shops_helper.rb module ShopsHelper def address_components_hidden_fields Shop::ADDRESS_COMPONENTS.each do |address_component|

使用RubyonRails3.2。我正在尝试根据定义的数组创建多个隐藏字段标记。下面是我的代码:

# shop.rb
...
ADDRESS_COMPONENTS = ['lat', 'lng', 'name']
...

# shops_helper.rb
module ShopsHelper
  def address_components_hidden_fields
    Shop::ADDRESS_COMPONENTS.each do |address_component|
      hidden_field_tag(address_component, "")
    end
  end
end

# _form.html.erb
<%= address_components_hidden_fields %>
我希望输出为:

<input type='hidden' name='lat' id='lat' value='' />
<input type='hidden' name='lng' id='lng' value='' />
<input type='hidden' name='name' id='name' value='' />


我做错了什么?

您需要将
隐藏的\u字段\u标记
帮助程序放在一起

module ShopsHelper
  def address_components_hidden_fields
    Shop::ADDRESS_COMPONENTS.map do |address_component|
      hidden_field_tag(address_component, "")
    end.join("\n")
  end
end
注意
map
join
的用法

module ShopsHelper
  def address_components_hidden_fields
    Shop::ADDRESS_COMPONENTS.map do |address_component|
      hidden_field_tag(address_component, "")
    end.join("\n")
  end
end