2011-01-30 119 views
0

警告我是全新的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 

回答

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

我意识到这是一个教程,但使用的是硬编码发出一个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> 
相关问题