我在我的haml視圖中出現了一個奇怪的錯誤。當我要求model.id
時,它將返回object_id
,但僅限於某些地方。例如:Model#id在haml視圖中返回#object_id
%ul
- @items.each do |item|
%li{:class => "item", :id => "item_#{item.id}"}= link_to(item.name,item)
上面的代碼將呈現這樣的:
<ul>
<li class="item" id="item_104589"><a href="/items/1">Test1</a></li>
<li class="item" id="item_104590"><a href="/items/2">Test2</a></li>
</ul>
我說這是一個奇怪的錯誤,因爲它只是發生在生產環境和鏈接都是正確的。 項目的數組是「裝飾」使用Drapper寶石。我沒有使用HAML的縮寫形式,因爲這樣:
%li[item]
呈現:
<li class="item_decorator" id="item_decorator_xxx">...</li>
使用item [:id]而不是item.id解決了我的問題。更奇怪:/ – beagleknight
視圖內的'item.class'返回什麼? –
'item.class'返回'ItemDecorator'。你認爲這是問題嗎? – beagleknight