【发布时间】:2016-11-12 21:27:44
【问题描述】:
我有一个部分_errors.html.haml来显示我的应用程序中的表单错误。部分内的代码:
.errors
%ul
- errors.full_messages.each do |message|
%li= message
我将 projects/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 不起作用?
【问题讨论】:
-
我回答a question 有同样的问题。您可以查看render 的来源,看看为什么它不起作用。
标签: ruby-on-rails ruby-on-rails-4 partial-views actionview