0

このようなサブドメインルーティング設定があります

constraints :subdomain => 'my' do
  scope :module => 'my', :as => 'my' do
    scope :module => 'author', :as => 'author' do
      resources :modlette_author
    end
    resources :modlettes
    root :to => 'my#index'
  end
end

私が開発環境にいるとき、特にconfig.cache_classes = falsemy_controller は座ってapp/controllers次のように定義する必要があります:

class MyController < ApplicationController
  layout "my"
  before_filter :authenticate_user!

  def index

  end
end

ただし、本番環境でconfig.cache_classes = trueは、レールが を組み込み、次のように定義my_controllerする必要があります。app/controllers/my

class My::MyController < ApplicationController
  layout "my"
  before_filter :authenticate_user!

  def index

  end
end

明らかに、両方を試して実行することは実際的ではありません。私が間違っていることについて何か考えを持っている人はいますか?

4

2 に答える 2

1

に変更scope :module => 'my', :as => 'my' donamespace :my, path: nil doて、本番環境と同じように開発モードで機能するようにしてください。

于 2012-12-03T08:13:28.180 に答える
0

アレックスが書いたものは100%正しいものでしたが、アレックスが書いたものよりもはるかに間違っていました。結局、ルート用に大きなチャンクを書き直し、すべてのコントローラーパスとコントローラー名を再編成しました。私はこれらすべてを最初から書き直す際に、次のリンクを使用しました。

Railsガイド

RailscastsRESTAPIのバージョン管理

于 2013-02-15T09:23:35.343 に答える