Rails 3:“未定义的局部变量或方法”如果我将内容放在部分中
Posted
技术标签:
【中文标题】Rails 3:“未定义的局部变量或方法”如果我将内容放在部分中【英文标题】:Rails 3: "undefined local variable or method" if I put content in a partial 【发布时间】:2011-08-19 22:37:57 【问题描述】:我有下表
<table id="rating">
<thead>
<tr>
<th colspan="2">Photo Ratings</th>
</tr>
<tr>
<td>Average Rating</td>
<td><%= msg.average_rating %></td>
</tr>
<tr>
<td>Your Rating</td>
<td><%= current_user_rating %></td>
</tr>
</thead>
</table>
如果我把它放在视图中,效果很好,但是当我把它放在部分_rating.html.erb
中时,我得到了
undefined local variable or method 'msg' for #<#<Class:0x000003463da1570>:0x003463d9f388>
我正在通过<%= render :partial => "rating" %>
链接到部分链接,我必须在部分链接中添加什么才能避免出现错误?谢谢
【问题讨论】:
【参考方案1】:您需要将msg
变量添加到部分模板的局部变量中。
<%= render :partial => "rating", :locals => :msg => msg %>
【讨论】:
@colbern 别忘了current_user_rating
:)
@rubish 如果那个不是辅助方法:)以上是关于Rails 3:“未定义的局部变量或方法”如果我将内容放在部分中的主要内容,如果未能解决你的问题,请参考以下文章
nameerror 未定义的局部变量或方法 `log_out' 你的意思是? logout_url ruby on rails
NameError(未定义的局部变量或方法 `devise_parameter_sanitizer'