使用助手从控制器返回视图到视图
问题描述:
警告我是全新的rails! 在阅读教程的过程中,它要求我将带有十进制值的字符串键的哈希值放入产品操作方法中(我假设他们正在谈论控制器中的“def产品”使用助手从控制器返回视图到视图
在使用控制器中的产品方法是否正确地放置了我的哈希值? 将哈希中的信息放入表格中,我甚至需要帮助方法还是有更好的方法? 我的帮助程序需要帮助并且不会格式化数据正确使用.html_safe我
这是我到目前为止在我CONTROLER:
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
答
puts
可能是一个错误,你不”我真的很想打印出标准的Web服务。看看这是否有效?
def products_tabler
snowholder = ""
@snow_stuff.each {|key,value| snowholder += "<tr><td>#{key}</td><td>#{value}</td><tr>"}
return snowholder
end
答
我意识到这是一个教程,但使用的是硬编码发出一个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>