【问题标题】: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