使用jquery和rails加载部分

Chr*_*ian 9 jquery load ruby-on-rails partial

我很好奇用jquery加载rails部分的最佳方法.到目前为止,我尝试了一个不起作用的解决方

$('#imagecontent').load('/newsletters/_image_gallery.html.erb', function() {
alert('Load was performed.');
});
Run Code Online (Sandbox Code Playgroud)

是否为此构建单独的操作和/或控制器并设置路径是最佳解决方案?我问,因为使第一个解决方案工作似乎更容易,也许不那么安静.

谢谢.

Luc*_*eis 8

您应该无法从HTTP请求访问模板文件(.erb),这是非常糟糕的做法.我建议你把它们放在你的web服务器路径之外,只能通过你的应用程序访问它们.

我不确定Rails,但我想你需要创建一个单独的控制器(或其他)来做到这一点.

编辑这是因为.erb文件是嵌入式Ruby文件,如果您尝试请求它们,您将获得所有不需要的数据,例如<%= page_title %>,您不想向用户显示.因此,您需要通过Rails应用程序传递这些.erb文件,以便将它们正确解释为HTML.