2012-04-16 11 views
0

全体の命名規則で可能なエラーとroutes.rbをresources :sign_inRuby on Railsを - 私は、ログインルートを作っていた経路

にこれを追加私はこのようなコントローラ作られた:

class Mobile::Sign_inController < ApplicationController 
    layout "mobile/application" 

    def get 
    respond_to do |format| 
     format.html 
    end 


    end 

    def index 
    respond_to do |format| 
     format.html 
    end 
    end 

end 

し、それを正しくルーティングされるようだが、ここに配置され、私のビューファイル:

ちょうどテスト目的のために1行あり
/app/views/mobile/sign_in.html.haml 

%strong{:class => "code", :id => "message"} Hello Signin! 

しかし、ブラウザでURL:http://m.cmply.local:8800/signinにアクセスすると、画面は完全に白くなり、ブラウザに何も表示されません。

これがなぜ起こり、どのように修正するのか、

ありがとうございます!

+0

あなたは 'モバイルに'モバイル:: Sign_inController'からコントローラのクラス名を変更してみてください:: SignInController' – PinnyM

+0

@PinnyMだけで、同じ結果を、それを試してみました...私は何も真っ白ブラウザ画面を参照してくださいレンダリング。 – GeekedOut

答えて

4

ここにいくつかの問題:

  1. お使いのコントローラ名がSignInsController、ないSign_inControllerでなければなりません。あなたの名前をUserSessionsControllerまたはそれに類するものに変更することを検討してください。リソースが反映されています。引き続きURLの代替名(sign_inなど)を指定することはできます。

  2. コントローラーの名前がMobileになっているのはなぜですか?あなたのルートにはそれが反映されていませんが、あなたはそれらをすべて提供したようには見えません。ルートはおそらくscopeの下でなければなりません:

    scope :module => "mobile" do 
        resource :sign_in 
    end 
    
  3. のみ「1」にサインインがあるので、それはそのルートは、あなたが望むものに応じて、resource :sign_in, :only => [:new, :create, :destroy]でもおそらくresource :sign_inを宣言し、している必要があります。これは、indexアクションが存在しなくなったことを意味し、おそらくそれをnewアクション `と置き換えたいと考えています。

  4. デフォルトではRESTfulリソースのアクションはありませんが、あなたはそれが何を意味するのか分かりませんが、それは別のものでなければなりません。

関連する問題