2016-12-13 105 views
0

我試圖生成JavaScript的目的動態CSS的ID,下面的代碼是給我的錯誤:麻煩與級聯表格

<%= form_for @item, html: { multipart: true } do |f| %> 
    <%= f.fields_for :item_images do |builder| %> 
     <%= image_tag builder.object.image.url(:large), :class => "cropbox", 'data-id' => builder.object.id %> 
     <% for attribute in [:crop_x, :crop_y, :crop_w, :crop_h] %> 
      <%= builder.text_field attribute, :id => attribute + builder.object.id %> 
     <% end %> 
    <% end %> 
<% end %> 

我知道我不是串聯屬性和builder.object。身份證適當,但我已經嘗試了一切都沒有運氣。我得到這個錯誤信息:

未定義的方法'+」爲:crop_x:符號

感謝任何幫助,謝謝!

回答

1

您的預期結果是什麼? 你能說出'''屬性'''在你的表達中嗎? 另外,你有沒有試過.concat而不是'+'?

遠離我的辦公桌上,但我的建議是這樣的: 例子:

attribute.concat(builder.object.id) 

也許需要attribute.to_i.to_s轉換爲響應型,或者創建一個不同的動態CSS ID解決方案

+0

預期的結果id應該像「crop_x01」等。屬性來自循環,只有四個值:crop_x,:crop_y,:crop_w,:crop_h。感謝您的建議,我會嘗試一下 – odinsride

+0

這有助於很多,我用它來讓它工作 - 'attribute.to_s.concat(builder.object.id.to_s)'感謝您的幫助! – odinsride