2016-09-30 96 views
0

我想爲每個報價渲染一個部分。 我有以下代碼:將變量傳遞給部分

報價/ index.html.haml:

- @offers.each do |o| 
    = render 'offershort', locals: {offer: o} 

報價/ _offershort.html.haml:

= link_to offer.name, offer_path 
= offer.description 

我得到一個錯誤:

undefined local variable or method `offer'

如何正確地做到這一點?

回答

4

如果你使用短版本,你需要刪除locals選項

= render 'offershort', offer: o 

否則

= render partial: 'offershort', locals: { offer: o } 
+0

這很簡單,謝謝! – Maciek

+0

@SimoneCarletti如何在短版本中有所不同? – thesowismine