渲染视图中的部分我有一个“项目”的形式为部分。我试图使用jQuery呈现局部当用户点击一个按钮:Ruby on Rails的:如何通过jQuery
$('.projects').append("<%= render partial: 'projects/project') %>").html_safe
但是,使用上面的代码是从字面上呈现“<%=渲染部分:‘项目/工程’)%>”上页面而不是实际的部分。
渲染视图中的部分我有一个“项目”的形式为部分。我试图使用jQuery呈现局部当用户点击一个按钮:Ruby on Rails的:如何通过jQuery
$('.projects').append("<%= render partial: 'projects/project') %>").html_safe
但是,使用上面的代码是从字面上呈现“<%=渲染部分:‘项目/工程’)%>”上页面而不是实际的部分。
我认为将您的文件扩展名从xxx.js
重命名为xxx.js.erb
可能会解决您的问题。
我认为伯尼是正确的。如果文件以erb结尾,那么rails将呈现视图。如果不是,那么它只是将其视为任何其他静态文件。 –
尝试:
$('.projects').append("<%= j render partial: 'projects/project') %>");
j
是escape_javascript
别名。
为escape_javascript助手查看文档。
试试这个:
$('#projects').html('<%= escape_javascript render 'projects/project' %>');
注:作为Bernie Chiu
建议您需要的文件扩展名从xxx.js
更改为xxx.js.erb
我觉得你的JavaScript文件没有在它的'erb'扩展,如果是则来自'file.js'重命名为'file.js.erb' –
这是什么文件,反正叫什么名字?因为它看起来像js,但是你添加了'.html_safe'这是红宝石,并且你说表单部分,所以idk。 –