1
以下代码:渲染的谐音 - 没有这样的方法“钥匙”
<%= render 'shared/error_messages', f.object %>
其中f.object是一个名为“用户”类的实例。
在一个erb文件中引发了一个有关在用户对象中找不到方法'键'的错误。
发生了什么事?
以下代码:渲染的谐音 - 没有这样的方法“钥匙”
<%= render 'shared/error_messages', f.object %>
其中f.object是一个名为“用户”类的实例。
在一个erb文件中引发了一个有关在用户对象中找不到方法'键'的错误。
发生了什么事?
渲染的第二个参数locals是一个映射,它指定将在部分渲染中可用的变量。 Api Doc: http://apidock.com/rails/ActionView/Template/render 在这里,我们正在传递一个User实例,而不是Rails所期望的地图。当执行代码来渲染部分时,Rails试图使用User对象作为映射,因此出现了无法找到方法'键'的错误。
我真正需要的是这样的 -
<%= render 'shared/error_messages', object: f.object %>
object是一个变量_error_messages.html.erb部分期待。这解决了错误。