我有一个通过HeliconZoo模块在IIS7.5上运行的RoR (1.9.3 - 3.2)应用程序。它位于类似于http://server/application/的子目录中
现在,如果我使用带有<% link_to "/users“%>这样的直接位置的link_to,它将链接回http://server/users而不是http://server/application/users (虽然链接到控制器操作可以正常工作)。
此外(这是这里更大的问题),应用程序将所有资源预编译到server/ application /public/assets中,但在渲染时会在server/public/assets中搜索它们。如果我设置了config.assets.prefix,资产也会呈现到不同的位置("/application/...“作为每次添加),这导致恒定的去同步,并且资产永远不会被加载。我可以通过在预编译时将config.assets.prefix更改为"/application/public/assets“并在编译后将其更改回默认设置来解决此问题,但这非常恼人。
是否有某种配置告诉渲染器在直接链接和资源上添加前缀("/application")?
发布于 2012-04-13 00:08:20
我从来没有使用过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我直接从here复制了这个答案,它可能会为您提供更多有用的信息。
发布于 2012-04-13 21:19:51
请尝试打开IIS管理器,导航到“应用程序”文件夹,打开上下文菜单并选择“转换为应用程序”。通常情况下,不需要对Ruby代码进行特定的修补。
https://stackoverflow.com/questions/10126474
复制相似问题