发出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") ...