0

我看过其他帖子,但似乎无法弄清楚为什么这对我不起作用

在我的控制器中我设置

  @referrer=referrer.name

在我看来我有

  <%= 渲染 'js', :referrer => @referrer >

然后在我的部分我放

   var type =' <%= referrer >';

我得到一个响应'未定义的局部变量或方法'referrer',它指向 _js 文件。

从我所看到的,这正是它应该是这样写的,我做错了什么?

4

2 回答 2

2
<%= 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%>
于 2011-05-27T21:40:11.063 回答
0

原来原因是在部分,我不得不打电话

  var type='<%= @referrer %>'

不知道为什么我看到的所有其他文档都没有@符号

于 2011-05-27T21:54:14.333 回答