渲染部分时,Rails 3.0未定义局部变量

map*_*ap7 2 haml ruby-on-rails partial-views ruby-on-rails-3

我正在使用Rails 3.0.20应用程序,我正在尝试通过部分传递局部变量,并且它显示"未定义的局部变量"我已经查看了此问题上的其他帖子并且无法修复它.

这是我要求渲染的意思

    = f.fields_for :current_positions do |builder|
        = render :partial => 'current_position_fields', :locals => {:f => builder, :foo => 'hi'}
Run Code Online (Sandbox Code Playgroud)

这是我的偏爱

%tr.pos_start
    %td
        = foo
        = f.hidden_field :id, class: "pos_id"
        = f.label :name, "Position Name"
    %td= f.text_field :name
%tr.pos_loc
    %td= f.label :location, "Position Location"
    %td= f.text_field :location
%tr.pos_end
    %td= f.label :year, "Position Year"
    %td= f.text_field :year
    %td.fields
        = link_to_remove_fields "DEL", f
Run Code Online (Sandbox Code Playgroud)

错误消息是

undefined local variable or method `foo' for #<#<Class:0x00000008d4a050>:0x00000008d3c590>
Run Code Online (Sandbox Code Playgroud)

如果我= foo从代码中取出其他所有工作.

map*_*ap7 7

发现我的错误,我也在应用程序助手中调用partial而不传递适当的局部变量.

当我可以将部分名称复制到另一个名称并使用变量调用它时,我发现了这一点.