我看过其他帖子,但似乎无法弄清楚为什么这对我不起作用
在我的控制器中我设置
@referrer=referrer.name
在我看来我有
<%= 渲染 'js', :referrer => @referrer >
然后在我的部分我放
var type =' <%= referrer >';
我得到一个响应'未定义的局部变量或方法'referrer',它指向 _js 文件。
从我所看到的,这正是它应该是这样写的,我做错了什么?
我看过其他帖子,但似乎无法弄清楚为什么这对我不起作用
在我的控制器中我设置
@referrer=referrer.name
在我看来我有
<%= 渲染 'js', :referrer => @referrer >
然后在我的部分我放
var type =' <%= referrer >';
我得到一个响应'未定义的局部变量或方法'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 %>'
不知道为什么我看到的所有其他文档都没有@符号