Rails Ajax Javascript渲染部分与集合没有显示任何内容
Rails Ajax Javascript render partial with collection shows nothing
在我的index.html.erb文件中我有:
<table>
<thead>
<tr>
<th>Title</th>
<th>Note</th>
<th colspan="2"></th>
</tr>
</thead>
<tbody id="avail-courses">
<%= render partial: 'avail_course', collection: @courses %>
</tbody>
</table>
它基本上呈现了一个部分_avail_course.html.erb。
我试图通过ajax调用使此渲染,所以我使我的javascript文件enrollment .js.erb为:
$('#avail-courses').html("<%= escape_javascript render partial: 'avail_course', collection: @courses %>");
ajax调用成功,但是渲染没有返回任何东西,因此使id为# available -courses的表为空。
我在这里错过了什么?我怀疑,在js文件中,我不能直接传递一个集合。
为完整起见,我的部分_avail_course.html。erb是:
<tr>
<td><%= avail_course.title %></td>
<td><%= avail_course.note %></td>
<td><%= link_to 'Info', 'course_list/info/' + avail_course.id.to_s %></td>
<td><%= button_to 'Enroll', 'course_list/enroll/' + avail_course.id.to_s, method: :put, remote: true %></td>
</tr>
请检查您的部分名称<%= render partial: 'avail_course', collection: @courses %>
,但您的上面写的是Which basically render a partial _avail_courses.html.erb.
。所以再检查一下你的拼写
我发现了这个问题。这是因为@courses没有在控制器中定义。在正常的format.html响应中,redirect_to负责处理@courses,但我忘记了format.js不会调用另一个控制器。
相关文章:
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- D3.js生成有效的SVG,但不显示任何内容
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- jquery Ajax没有;不要显示任何信息(既不显示成功也不显示失败)
- javascript函数,该函数不起作用,但不会显示任何错误
- JavaScript 未显示任何警报对话框
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- 谷歌地图没有显示任何标记
- 没有使用Highcharts显示任何图形
- jQuery导航下拉菜单未显示..任何想法
- AngularJS:console.log不显示任何内容
- ng-repeat不显示任何内容
- ng-重复不显示任何内容
- extjs在chrome中可以正常工作;不要在firefox或ie中显示任何内容
- 使用javascript在标签上不显示任何内容
- console.log在FF插件生成器中没有显示任何内容
- TypeAhead.js没有显示任何输出Rails
- 使用ajax运行php脚本不会显示任何结果
- 我的Javascript项目正在访问网络摄像头,但没有显示任何内容
- 输入类型“文本”的 ng-init 不会在文本框内显示任何数据