У меня есть частичный _errors.html.haml
, чтобы отобразить ошибки формы в моем приложении. Код внутри частичный:Rails 4 рендер частично с местными
.errors
%ul
- errors.full_messages.each do |message|
%li= message
Я рендеринг парциального от проектов/new.html.haml в
= render 'shared/errors', locals: { errors: @project.errors } if @project.errors.any?
Ошибку частичные находится в views/shared
каталоге.
Но я получаю сообщение об ошибке при попытке частичного отображения ошибок.
undefined local variable or method errors' for #<#<Class:0x0055895405bbc0> :0x00558951a80fe0>
Если изменить рендеринга линию
= render 'shared/errors', errors: @project.errors if @project.errors.any?
это работает. Почему в этом случае не работает locals
?
Я ответил [вопрос] (http://stackoverflow.com/questions/38129112/rails-undefined-local-variable-or-method-page/38142541#38142541) имеет такую же проблему. Вы можете проверить источник [render] (https://github.com/rails/rails/blob/8cb8ce98d903929342e2ca3a54a07ab5196baf93/actionview/lib/action_view/helpers/rendering_helper.rb#L26), чтобы понять, почему он не работает. – Thanh