繁体   English   中英

将局部变量传递到每个环路轨道3的部分内部

[英]Passing local variable to partial inside for each loop rails 3

这是我渲染部分的代码(正确生成了@parties集合,我测试过了):

        <% @parties.each do |party| %>
            <div class="item">
              <%= render 'parties/party', :object => party  %>
            </div>
        <% end %>

这是部分代码:

<%= party.name %>

但是,我收到以下错误:

undefined method `name' for nil:NilClass

我在我的智慧结束,有人请求帮助: - |

此外,这是控制器呈现包含部分视图的控制器的代码(控制器名为default_controller):

def index
    @parties = Party.all
end

这不是party_controller,这有什么后果吗?

我尝试过类似下面的东西并且有效

<%= render :partial => 'party', :object => party  %>

我可以像party.name一样party.name 局部变量以此处为party的部分名称命名。

注意:我假设你的两个部分都是parties_controller 所以这应该工作。

更新:这是我再次尝试过的

class PostsController < ApplicationController
    #... ...
    def index
        @posts = Post.all
        @comments = Comment.all #<---- Loading comments from PostsController
        #... ...
    end  
end

#views/posts/index.html.erb

<% @comments.each do |comment| %>
    <%= render :partial=>"comments/comment", :object=>comment %>
<% end %>

#views/comments/_comment.html.erb

<%= comment.body %>

它的工作:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM