Передача переменной в частичную

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я хочу отобразить частичное значение для каждого предложения. У меня есть следующий код:

предложения/index.html.haml:

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

предложения/_offershort.html.haml:

 = link_to offer.name, offer_path
= offer.description
  

Я получаю сообщение об ошибке:

неопределенная локальная переменная или метод `предложение»

Как это сделать правильно?

Ответ №1:

Если вы используете короткую версию, вам нужно отказаться от этой locals опции

 = render 'offershort', offer: o
  

в противном случае

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

Комментарии:

1. @SimoneCarletti чем отличается короткая версия?

2. Эта проблема преследовала меня долгое время. Кто знал, что есть разница между render и render partial: ???