-1

我的代码是这样的:

$.getJSON("/somefolder/somefile.json?"+urlParams, function(json) {
    //populate combo here
});

我正在使用 sass 在 Rails 上工作,我拥有此代码的文件最初是 file.js,尽管为了使用管道资产,我已经将其更改为 file.js.erb

在开发中,我正在工作,http://localhost:XXXX所以结果还可以。在 Prod 中,我使用了一个文件夹http://domain.com:XXXX/app,所以结果很糟糕。

类似的编码<%=image_tag("loading.gif", :class => "loading")%>在此文件中可以完美运行,但$.getJSON("<%= controller_method_path %>.json?"+urlParams不能

有什么建议吗?

4

1 回答 1

2

假设您的路由设置为在生产中使用前缀,则您应该对完整路径使用实际的路由方法。

$.getJSON("<%= thingies_url(@thingy, :json) %>?"+urlParams, ...

现在应该在所有情况下正确生成整个路径。


但是像这样的疯狂是为什么通常不建议在域的子目录中运行 rails 应用程序的原因。它使路由和到其他页面和资产的相对链接更加令人头疼。

如果您可以在子域上托管 rails 应用程序。

# not awesome :(
http://mydomain.com/myapp

# totally awesome! :D
http://myapp.mydomain.com/
于 2012-12-19T17:39:19.033 回答