rails渲染集合和本地人

时间:2015-03-05 04:04:23

标签: ruby-on-rails partials renderpartial

我正在尝试从js.erb文件中呈现一个部分,该文件同时传递了一个集合和一个局部变量。一切正常,但我无法访问视图中的局部变量。我尝试过以下方法:

<%= escape_javascript(render(partial: 'tasks/task', collection: @task_group.tasks_belonging_to, as: :task, locals: {testvble: "bob"})) %>
<%= escape_javascript(render(partial: 'tasks/task', collection: @task_group.tasks_belonging_to, locals: {testvble: "bob"})) %>
<%= escape_javascript(render(partial: @task_group.tasks_belonging_to, locals: {testvble: "bob"})) %>
<%= escape_javascript(render(@task_group.tasks_belonging_to, testvble: "bob")) %>

上述每个工作都有效,直到我尝试访问视图中的局部变量。我收到错误:

undefined local variable or method `testvble'

为了完整起见,上面的每一个都在js.erb文件中的以下语句中(位于xxxx位置):

$("#task-group-<%=@task_group.id%>").append("xxxx").hide().show('slow')

这是造成问题的部分代码:

<p>should be bob:<%= testvble %></p>

1 个答案:

答案 0 :(得分:0)

根据J Plato的建议,底层语法实际上是正确的。我的问题是,如果要显示子任务,则部分递归调用自身。渲染子任务时,没有传递局部变量。