0

ログインルートを作成し、これをroutes.rbに追加しましたresources :sign_in

私はこのようなコントローラーを作りました:

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

正しくルーティングされているようですが、ここにある私のビューファイル:

/app/views/mobile/sign_in.html.haml

これは、テスト目的で1行だけです。

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

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

なぜこれが起こるのか、そしてそれを修正する方法はありますか?

ありがとう!

4

1 に答える 1

4

ここでいくつかの問題:

  1. コントローラ名はSignInsController、ではなく、である必要がありSign_inControllerます。名前をまたは同様のものに変更することを検討してください。これは、名前が表すリソースUserSessionsControllerをより適切に反映するためです。URLの代替名(など)を引き続き指定できます。sign_in

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

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

  4. デフォルトでは、RESTfulリソースに対するアクションはありませgetん。それが何を意味するのかはわかりませんが、別のアクションである必要があります。

于 2012-04-16T22:03:07.740 に答える