0

我有一个通过 HeliconZoo 模块在 IIS 7.5 上运行的 RoR (1.9.3 - 3.2) 应用程序。它位于像http://server/application/这样的子目录中

现在,如果我将 link_to 与 <% link_to "/users" %> 之类的直接位置一起使用,它将链接回http://server/users而不是http://server/application/users(同时链接到控制器操作有效美好的)。

此外(这是这里更大的问题)应用程序正在将所有资产预编译到 server/application/public/assets 中,但在渲染时正在 server/public/assets 中搜索它们。如果我设置 config.assets.prefix 资产也会被渲染到不同的位置(“/application/...”作为每次添加),这会导致持续的不同步并且永远不会加载资产。我可以通过将 config.assets.prefix 更改为“/application/public/assets”进行预编译并在之后将其更改回默认值来解决此问题,但这很烦人。

是否有某种配置告诉渲染器在直接链接和资产上添加前缀(“/应用程序”)?

4

2 回答 2

0

我从来没有使用过 IIS 或 HeliconZoo 来部署 Rails,所以这可能行不通,但无论如何我都会尽力回答,因为在我看来,你真正想要做的是让 Rails 理解你'将其重新部署到子文件夹,这并不太难。只需将所有内容封装routes.rb在一个范围内,如下所示:

scope "/context_root" do
   resources :controller
   resources :another_controller
   match 'welcome/', :to => "welcome#index"
   root :to => "welcome#index"
end

我直接从这里复制了这个答案,这可能会为您提供更多有用的信息。

于 2012-04-12T16:08:20.180 回答
0

请尝试打开 IIS 管理器,导航到“应用程序”文件夹,打开上下文菜单并选择“转换为应用程序”。通常不需要专门修改 Ruby 代码。

于 2012-04-13T13:19:50.663 回答