发出AJAX请求转到正确的URL

我在一些jquery代码中有自动完成的这个ajax请求:

$.ajax({type:"POST", url:("showable_videos/create.js"), data:{video:{profile:val}}}); 

自动填充function会作用于我的video节目视图中的字段。 因此,当它发出AJAX请求时,我收到此错误:

 Started POST "/videos/showable_videos/create.js" for 127.0.0.1 at Tue Apr 26 00:18:33 -0700 2011 ActionController::RoutingError (No route matches "/videos/showable_videos/create.js"): 

当我希望它只是/showable_videos/create.js时,Rails会在URL之前添加/videos/ 。 我怎样才能解决这个问题?

因为你没有提供绝对路径(一个以“/”为根的路径),所以rails将其解释为“来自当前路径”而不是“来自根”。

最好使用rails path helper而不是像这样对url进行硬编码。

在您的url上添加一个前导斜杠: /howable_videos/create.js 。 没有它,浏览器将其视为相对于当前目录。

将其设为绝对URL

  ... url:("/showable_videos/create.js") ...