2011-11-16 14 views
4

私はログインするように努力していますが、テンプレートが見つからないため500エラーが表示されています。何か案が? devise/sessions/createをレンダリングしようとしているのはなぜですか?Devise jQuery Mobile and Railsで問題が発生しました

のRails 3.1


私はmobyletteの宝石を使用しています:https://github.com/tscolari/mobylette を私はして設定考案している:

config.navigational_formats = [:"*/*", "*/*", :html, :mobile]


Completed 500 Internal Server Error in 145msActionView::MissingTemplate (Missing template devise/sessions/create, application/create with {:handlers=>[:erb, :builder, :coffee, :haml], :formats=>[:mobile], :locale=>[:en, :en]}. Searched in: * "/Users/Armageddon/Projects/Business/jquerymobiletest/app/views" * "/Users/Armageddon/.rvm/gems/[email protected]/gems/devise-1.4.9/app/views"): Rendered /Users/Armageddon/.rvm/gems/[email protected]/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/missing_template.erb within rescues/layout (0.5ms)

答えて

8

私はこの仕事をするために次の変更をしなければならなかった:

設定/初期化子/ devise.rb

config.http_authenticatable_on_xhr = false は、そうでない場合はfalse jQueryのモバイルはログインするXHRリクエストを送信し、あなたが得ることを確認しなければなりませんでした401エラー。

config.navigational_formats = [:"*/*", "*/*", :html, :mobile]

これそれ以外の場合は、フォーマットを認識しません。あなたはこれがリダイレクトを処理すると思うだろうが、実際にはそうではない。あなたはもう1つのことをする必要があります。

それはので、私はそれを追加私にはハックです:今、それが動作 設定/初期化子/ devise_hack.rb

ActionController::Responder.class_eval do alias :to_mobile :to_html end

さらにもう1つのこと。あなたはこれらが必要ではないだろうと思うだろうResponder.class_eval:fall_back => :html

respond_to_mobile_requests :skip_xhr_requests => false, :fall_back => :html

:私のapplication.rbに私は、このセットアップにmobyletteのための私の携帯のものを持っています。 configの書かれたものは、同じものであるか、複製されているようです。ただし、これらの設定をすべて行わなければ、動作しません。

+0

[mobile-fu](https://github.com/brendanlim/mobile-fu)を使用している場合は、どの設定を変更する必要がありますか? – furiabhavesh

1

私はこの問題を抱えていましたt OO、私はそれで次のコード持ってcreate.mobile.erbと呼ばれる>セッションを工夫>ビュー>アプリでファイルを作成することによってそれを解決:それはちょうどjqueryのモバイルブロックで作成するビューを置く

<section id="login_redirect_page" data-role="page"> 
    <script type="text/javascript"> 
    window.location = "<%= root_path %>" 
    </script> 
</section> 

をし、 root_pathにリダイレクトされます。私はこれを行うためのより良い方法を探しているので、何かを見つけたら投稿します。

+0

また、私は、この発見:設定/初期化子/ devise.rbコメントを解除し、このライン config.navigational_formats = [: "*/*"、 "*/*"、:HTML] をしてまで、あなたの携帯電話のフォーマットを追加これは好きです:携帯電話 – Ultimation

+0

私のために仕事をしますか?ありがとう –

関連する問題