rails 渲染集合和局部变量

rails render collection and locals

我正在尝试从 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>

按照 J Plato 的建议,底部语法实际上是正确的。我的问题是,如果有子任务要显示,部分会递归地调用自己。渲染子任务时,未传递局部变量。