警告我是铁杆全新的! 在阅读教程时,它要求我将带有十进制值的字符串键哈希放入产品操作方法中(我的假设是他们在谈论控制器中的“def产品”。
在使用控制器中的products方法的方法中,我是否正确放置了哈希? 在将哈希信息放入表中的方法中,我是否需要帮助方法,还是有更好的方法? 我的助手需要帮助,并且不能使用.html_safe I
正确格式化数据这是我迄今为止在我的控制器中所拥有的:
def products
#hard coded as products in controller
@stuff = {"a"=>200.00, "b"=>150.00, "c"=>100.00, "d"=>9.00, "e"=>15.00, "f"=>20.00 }
end
这就是我在product.html.erb文件中的内容
<%= form_tag(products_path) do %>
<table id="aboutus_table">
<%= products_tabler() %>
</table>
<% end %>
然后帮助者...它需要帮助
def products_tabler
snowholder = @snow_stuff.each {|key,value|puts "<tr><td>#{key}</td><td>#{value}</td><tr>"}
return snowholder
end
答案 0 :(得分:2)
puts
可能是一个错误,你真的不想在Web服务中打印出标准版。看看这是否有效?
def products_tabler
snowholder = ""
@snow_stuff.each {|key,value| snowholder += "<tr><td>#{key}</td><td>#{value}</td><tr>"}
return snowholder
end
答案 1 :(得分:2)
我意识到这是一个教程,但是使用发出硬编码html的助手并不比在视图中使用html有所改进。
在这种情况下,在视图中执行它非常简单:
<table id="aboutus_table">
<% @snow_stuff.each do |key, value| %>
<tr>
<td><%= key %></td><td><%= value %></td>
</tr>
<% end %>
</table>
如果你真的想分开行的创建,那么集合部分会更好。然后Rails为你做迭代。当你有真实的数据时(即ActiveRecords而不是哈希),请使用这种技术。
<table id="aboutus_table">
<%= render :partial => "row", :collection => @stuff %>
</table>
然后_row部分将包含:
<tr>
<td><%= row.name %></td><td><%= row.value %></td>
</tr>