[英]Ruby on Rails render partial, undefined local variable
我在我的ruby on rails应用程序中有一个更改头像弹出窗口。 我正在尝试将它用于几个模型,如更改个人资料图片或产品图片。
我创建了一个视图,并尝试使用user.html.erb文件中的参数打开它:
<div id="myModal_change_avatar" class="modal-dialog fade-scale">
<div class="modal-content">
<div style="height: 100%;width: 100%" id="id_model_content">
<%= render partial: 'change_avatar/index', locals: { par:'param'} %>
</div>
</div>
</div>
在我的_index.html.erb文件中,该文件位于views / change_avatar下:
<h1><%= par %></h1>
但是,当我打开user.html.erb文件时,我得到“未定义的局部变量或方法'par'。
我看不出我错过了什么。
有什么建议么 ?
谢谢。
我过去也经历过这个问题,并不完全确定是什么导致它,但在我的情况下,它似乎与深度嵌套的部分有关(但仅限于几个视图)。
解决方案是从local_assigns哈希中访问局部变量。 我倾向于将其分配到页面顶部的局部变量,如下所示: -
<% par ||= local_assigns[:par] %>
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.