我的代码是:
$.getJSON("/somefolder/somefile.json?"+urlParams, function(json) {
//populate combo here
});
我正在研究Rails,使用sass和我有这个代码的文件最初是一个file.js虽然使用管道资产我已经把它改成了file.js.erb
在Dev我正在http://localhost:XXXX
工作,所以结果还可以。
在Prod我正在使用文件夹http://domain.com:XXXX/app
,因此结果会变坏。
<%=image_tag("loading.gif", :class => "loading")%>
之类的编码在此文件中完美运行,但$.getJSON("<%= controller_method_path %>.json?"+urlParams
不适用
有什么建议吗?
答案 0 :(得分:2)
假设您的路由设置为在生产中使用前缀,您应该使用实际路由方法来获取完整路径。
$.getJSON("<%= thingies_url(@thingy, :json) %>?"+urlParams, ...
现在应该在所有情况下正确生成整个路径。
但是像这样的疯狂是为什么通常不建议在域的子目录中运行rails应用程序。它使得到其他页面和资产的路由和相对链接更加令人头疼。
如果您可以在子域上托管rails应用程序。
# not awesome :(
http://mydomain.com/myapp
# totally awesome! :D
http://myapp.mydomain.com/