2014-12-05 32 views
0

如何添加或追加一個在活動記錄響應中迭代的ruby幫助器?用jquery添加嵌入式ruby幫助器

我曾經嘗試這樣做(以.html或.append):

$(".result").html('<%= @products.each do |product| %><label>product</label><% end %>'); 

但問題是,它返回的所有產品名單如下:

productproduct[#<Product id: 35, name: "", price: nil, category: "", quantity: nil, qty_unit: "", company_id: 108, created_at: "2014-11-13 17:22:33", updated_at: "2014-11-13 17:22:33", cost: nil, seller_bonification: nil>, #<Product id: 36, name: "Salmon", price: 3000, category: "Pescado", quantity: 1, qty_unit: "kg", company_id: 105, created_at: "2014-11-13 17:25:27", updated_at: "2014-11-13 17:25:27", cost: nil, seller_bonification: nil>] 

所以,我得到只有來自產品的字符串「product」而不是迭代對象本身,我無法訪問每個產品。之後,我以Active Records的方式獲得所有產品清單。 我也試過這種沒有「=」,像這樣:

$(".result").html('<% @products.each do |product| %><label>product</label><% end %>'); 

而且我只得到:

productproduct 

我不知道如何來解決這個問題。也許,更好的做法是使用坤寶石,或turbolinks,或哈希?有誰知道?

回答

1

你的代碼更改爲:

$(".result").html('<% @products.each do |product| %><label><%= product.name %?</label><% end %>'); 

,如果你想打印從產品的東西(例如,姓名我的代碼示例中)。

因此remove = for @ product.each標記;

將<%=%>添加到產品並調用任何你想要的。

1

當使用each,不要使用<%=<%

<%=試圖把的each返回值。即使each

0

ERB打印東西<%= %>模板使用Ruby的返回值,而循環或條件檢查,你必須使用<% #condition %>