使用Ruby on Rails 3.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 %>
输出结果为:
['lat', 'lng', 'name']
我期待输出为:
<input type='hidden' name='lat' id='lat' value='' />
<input type='hidden' name='lng' id='lng' value='' />
<input type='hidden' name='name' id='name' value='' />
我做错了什么?
答案 0 :(得分:0)
您需要将hidden_field_tag
个助手连在一起。
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
的使用情况。