2012-04-12 5 views
0

HeliconZooモジュールを介してIIS 7.5で実行されているRoR(1.9.3 - 3.2)アプリケーションがあります。 なお、iは<%のLINK_TO「/ユーザ」%>のように直接位置のlink_toを使用する場合、コントローラのアクションの動作にリンクしながら、今では、バックhttp://server/users代わりにhttp://server/application/users(に連結されているhttp://server/application/RoR link_toおよびassets paths

ようなサブディレクトリに配置され)。

また、アプリケーションはすべてのアセットをserver/application/public/assetsにプリコンパイルしますが、レンダリング時にはserver/public/assetsで検索しています。 config.assets.prefixを設定した場合、アセットは別の場所(毎回追加する「/ application/...」)にもレンダリングされ、一定の非同期になり、資産は決して読み込まれません。 これを回避するには、config.assets.prefixを "/ application/public/assets"に変更してプリコンパイルしてから、デフォルトに戻してください。これはかなり面倒です。

レンダリングに直接リンクやアセットにプレフィックス(「/アプリケーション」)を追加するように指示する設定がありますか?

答えて

0

私はIISやHeliconZoo for Railsのデプロイメントを使用したことがないので、これはうまくいかないかもしれませんが、実際には何をしようとしているかのように私には分かりません。サブフォルダに展開していることを理解してください。それはあまり難しくありません。単純にそうように、スコープ内でごroutes.rbのすべてをカプセル化:

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

は、私はあなたに多くの有用な情報を提供するかもしれないhereから直接この回答をコピーしました。

+0

アセットが正しくロードされていますが、レールはアプリケーションの残りの部分が/ server/application/applicationにあることを想定しています(毎回404エラーが発生します)。 – Nikom

0

IISマネージャを開き、「アプリケーション」フォルダに移動し、コンテキストメニューを開き、「アプリケーションに変換」を選択してください。通常、Rubyコードで特別な操作は必要ありません。

+0

動作しません。私はほとんどすべてのIISの設定を試して、何も動作するようです。 コントローラのアクションは "application /"というプレフィックスでリンクされているので、IISはアプリケーションがルートになると仮定しているので、直接リンクは常にアプリケーションの代わりにWebページのルートに入ります。なぜ理解できないのですか? – Nikom