2012-01-30 49 views
1

I'm新來的回報率麻煩HTML視圖中列出的項目 - 全局變量

我有一個奇怪的問題 - 我試圖通過名字來渲染「產品規模」的對象列表

<ul> 
<%= @product_scales.each do |p| %> 
<li><%= p.scale_name%></li> 
<% end %> 
</ul> 

名單是好的打印出來,但由於某些原因,所以是類實例名稱, 所以它看起來像這樣:

規模:

  • 當地
  • 區域
  • #< ProductScale:0x12ad625b0>#< ProductScale:0x12ad60418>

在我的控制器,它看起來是這樣的:

@product = Product.find(params[:id]) 
@product_scales =ProductScale.findByProductId(params[:id]) 

我也試過

@product_scales = ProductScale.findByProductId(params[:id]).map{|p| p.scale_name} 

和html.erb文件:

<li><%= p %></li> 

這給了以下內容:

  • 當地
  • 區域
  • localregional

這貌似爲@product_scales對象to_s方法被調用,結果 - localregional - 顯示在頁面上。

我不明白爲什麼會發生這種情況。

回答

5

假設這是不是在你的代碼一個錯字上面貼你:

<%= @product_scales.each do |p| %>

的<%=將使其輸出,你需要使用:

<% @product_scales.each do |p| %>

+0

是!非常感謝:D – 2012-01-30 17:58:01