Насколько правильно так делать для вложенного рендера, если часть переменных нужна в partial (это в html.slim)? Это выглядит довольно странно, но работает…
= render partial: 'some_list', locals: {aaa:aaa, bbb:bbb}
Насколько правильно так делать для вложенного рендера, если часть переменных нужна в partial (это в html.slim)? Это выглядит довольно странно, но работает…
= render partial: 'some_list', locals: {aaa:aaa, bbb:bbb}
Вести с Хабра
Я лично это делаю, в зависимости от ситуации. Когда вы используете это как partial из индексного view основного объекта, это выглядит странно:
render partial: 'hotdogs/list', locals: {hotdogs: @hotdogs}
но потом становится немного лучше, если ты рендеришь это в другом представлении:
render partial: 'hotdogs/list', locals: {hotdogs: @guy.hotdogs}
Я где-то читал, что хорошей практикой является сохранение переменных в partials в качестве локальных переменных. Не знаю почему, может быть потому, что это излишне увеличивает область видимости для переменных, которые в этом не нуждаются (т.е. вы можете использовать это только в этом конкретном фрагменте. В общем, лучше не загрязнять пул @instance_variables)