为什么这个部分调用没有传递其本地值

时间:2012-09-27 08:02:06

标签: ruby-on-rails

我尝试使用以下代码来渲染部分

= 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]

知道我为什么会收到此错误?

1 个答案:

答案 0 :(得分:1)

您不需要在部分中使用locals[:current]。您只需使用current,因为:locals会将其设置为目标部分中的局部变量。所以它只是

current

这是doc

所说的
  

会将@buyer对象提供给部分,可用于   本地变量帐户

<%= render :partial => "account", :locals => { :account => @buyer } %>