问题描述
|
我看过其他帖子,但似乎无法弄清楚为什么这对我不起作用
在我的控制器中
@ referrer = referrer.name
我认为我有
<%=渲染\'js \',:referrer => @referrer>
然后我把我的部分
var type = \'<%=引荐来源网址> \';
我得到一个响应\'未定义的局部变量或方法\'referrer \',它指向_js文件。
从我所看到的,这正是应该写的方式,我做错了什么?
解决方法
<%= render :partial => \"account\",:locals => { :referrer => @referrer } %>
您要部分使用的变量需要通过:locals哈希传递。
参考:http://api.rubyonrails.org/classes/ActionView/Partials.html
编辑
以下内容非常适合我:
控制器:
def index
@referrer = \"test\"
end
index.html.erb
<%= render :partial => \"account\",:locals => { :referrer => @referrer } %>
_account.html.erb
<%=referrer%>
, 原来原因是在局部中,我不得不打电话给
var type = \'<%= @referrer%> \'
不知道为什么我见过的所有其他文档都没有@符号