【发布时间】:2013-04-03 17:27:41
【问题描述】:
我有一个数组[["Company Name", "Field6"], ["Email", "Field5"]]
我正在从该数组中创建具有值的字段数组:
[
[{:label=>"Company Name", :value=>"gfdgfd"}],
[{:label=>"Email", :value=>"gfdgfd@gfd.pl"}]
]
使用
fields = [["Company Name", "Field6"], ["Email", "Field5"]]
# first element in array is Label and second is param id
fields_with_values = fields.collect do |field|
[
label: field[0],
value: params[field[1]]
]
end
然后我想将该标签和值传递给 erb 模板(类似):
# template.erb
<% fields_with_values.each do |field| %>
l: <%= field.label %>
v: <%= field.value %>
<% end %>
收集这些 fields_with_values 的最佳方式是什么?也许我应该使用 Object.new
【问题讨论】:
-
你想达到什么目的?
-
我想以清晰、简单的方式呈现这个
template.erb -
你这样做有什么问题?
-
我个人会避免在这种情况下实例化新对象,除非此处未提及的数据涉及某些业务逻辑。
-
+1 向导。对每个元素进行分类和实例化是一个不必要的步骤,其唯一目的是便于在视图中使用点表示法。
标签: ruby-on-rails ruby object sinatra erb