我尝试使用以下代码来渲染部分
= render partial: 'movie_same', locals: { current: @movie }, collection: @movie.dvd.movies.order('scene')
但是我收到了这个错误
NameError in Movies#show
Showing /Users/user/app/views/movies/_movie_same.html.haml where line #1 raised:
undefined local variable or method `locals' for #<#<Class:0x007fe713ba90a8>:0x007fe710f79a00>
渲染文件中的提及只是locals[:current]
。
知道我为什么会收到此错误?
答案 0 :(得分:1)
您不需要在部分中使用locals[:current]
。您只需使用current
,因为:locals
会将其设置为目标部分中的局部变量。所以它只是
current
这是doc
所说的会将@buyer对象提供给部分,可用于 本地变量帐户
<%= render :partial => "account", :locals => { :account => @buyer } %>