が問題と認知症行く/セッションを考案するルートを設定しようとすると、ここにルートマッピングエラーで#新しい結果
:-(私の要件は、ユーザーが訪問myappの場合は、
です。
ユーザーがログインしていないときに、テスト時に自分のアカウントにアクセスしようとすると、私のアプリのルートはプロモーションページ&サインアップフォームにデフォルト設定されています。 myapp.comは彼らに向けられますtest.myapp.com/users/sign_in-aka-devise/sessions#new
ユーザがログインしている場合(作成者)、test.myapp.comにアクセスすると、アプリケーションのルートがアプリケーションダッシュボードになります。ここで
は現在、私は次のことを持って、私は私のroutes.rbをして
constraints(Subdomain) do
authenticated do
root :to => 'dashboard#index'
end
root :to => 'devise/sessions#new'
end
root :to => 'promo_pages#index'
を使用しようとしていますものです、あなたは工夫ビットが含まれていないことに注意します。
constraints(Subdomain) do
authenticated do
root :to => 'dashboard#index'
end
end
root :to => 'promo_pages#index'
後者は私の問題は、最初の訪問test.myapp.com彼らはリダイレクトされますが、ログインされていないユーザーがtest.myapp.com/users/sign_inすると、エラーメッセージが表示されていると言ったときに "続行する前にサインインまたはサインアップする必要があります。これは、ダッシュボードページのログオン要件を強制しているためです。
しかし、ユーザーがページを初めて訪れたときにエラーメッセージが表示されることは望ましくありません。醜いので、エラーメッセージが表示されないように見えます。
ユーザーがログインしていない場合は、ログオンページに直接誘導され、エラー通知は表示されません。しかし、私が修正版を使用すると、次のようなことが起こります。 私はmyapp.comをよく訪れ、プロモーションページ にルーティングされますが、test.myapp.comにアクセスしようとするとブラウザに次のメッセージが表示されます
**Unknown action**
Could not find devise mapping for path "/". Maybe you forgot to wrap your route inside the scope block? For example: devise_scope :user do match "/some/route" => "some_devise_controller" end
私はクラッカーが何をすべきかを理解しようとしているので、私が間違っていることをアドバイスしてください。
Ps:私はstackoverflowとさまざまなグーグルで同じようなエラーを発見しましたが、解決策は私にとってはうまくいかないようです。私は、上記のエラーメッセージに問題の解決策があると思っていますが、それをどのように適用するのか分かりません。
最後に、上記のエラーのログエントリバージョンです。これは読みやすい形式です。
Started GET "/" for 127.0.0.1 at 2012-01-15 21:44:42 +0000
Processing by Devise::SessionsController#new as HTML
[Devise] Could not find devise mapping for path "/".
Maybe you forgot to wrap your route inside the scope block? For example:
devise_scope :user do
match "/some/route" => "some_devise_controller"
end
Completed 404 Not Found in 1ms
AbstractController::ActionNotFound (Could not find devise mapping for path "/".
Maybe you forgot to wrap your route inside the scope block? For example:
devise_scope :user do
match "/some/route" => "some_devise_controller"
end
):
すべてのご協力ありがとうございます。更新
を
を読み取るための
おかげで私は「認証済み」のチェックが動作していないと思われることに気づきました。 正常に動作していて、作業設定の2番目のバッチを使用している場合は、test.myapp.comにアクセスしているログインユーザーは常にpromo_pagesに誘導されますが、現時点ではダッシュボードにアクセスできます。
私は工夫「認証済み」メソッドを見つけ、ここ https://github.com/plataformatec/devise/pull/1147
これは解決されましたが、私はできるだけそれをするつもりですので、私はもう4時間回答を投稿できません。 –