我有这个ajax请求在一些jquery代码自动完成:
$.ajax({type:"POST", url:("showable_videos/create.js"), data:{video:{profile:val}}});
自动补全作用于视频显示视图中的字段。因此,当它发出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将/videos/
添加到URL。我该如何解决这个问题?
在url: /howable_videos/create.js
上放一个斜杠。否则,浏览器将其视为相对于当前目录。
设置为绝对URL
... url:("/showable_videos/create.js") ...
由于您没有提供绝对路径(以"/"为根的路径),因此rails将其解释为"从当前路径"而不是"从根"。
最好使用rails路径帮助器,而不是像那样硬编码url。