【问题标题】:Why my partial won't receive parameters correctly?为什么我的部分不能正确接收参数?
【发布时间】:2012-12-23 07:24:14
【问题描述】:

当渲染一个名为'member'的部分时,它说错误

#

的未定义局部变量或方法“用户”

为什么??

我的代码是

查看

<% @users.each do |user| %>  
    <%= render 'member', :locals => {:user => user} %>      
<% end %>

部分

<div class="chapter">
  <p class="title">
    <%= user.user_profile.nickname %>(<%= user.username %>)
  </p>

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 view


    【解决方案1】:

    你应该使用:

    <%= render :partial => 'member', :locals => { :user => user } %>
    

    或者只是:

    <%= render 'member', :user => user %>
    

    【讨论】:

      【解决方案2】:

      我的建议是尽可能遵守约定;如果你这样做,一切都会顺利得多。

      如果你有一个 _user.html.erb 部分,你可以使用这个 rails 约定

      <% @users.each do |user| %>
       <%= render user %>
      <% end %>
      

      但你甚至可以更短一点

      <%= render @users %>
      

      嘘!

      我强烈建议您查看Layouts and Rendering Guide

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-29
        • 1970-01-01
        • 2020-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-13
        • 1970-01-01
        相关资源
        最近更新 更多