2011-01-30 120 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> 
相關問題