2012-04-16 5 views
0

내가 로그인 경로를 만들고 나는이 같은 컨트롤러 만들어 resources :sign_in루비 -

routes.rb이 추가하고 경로를 통해 명명 규칙에 가능한 오류 :

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

당신은 모바일 :: SignInController' – PinnyM

+0

@PinnyM 그냥 그것을 시도, 동일한 결과가 ... 난 그냥 아무것도와 완전히 흰색 브라우저 화면을 볼'에 모바일 :: Sign_inController''에서 컨트롤러 클래스 이름을 변경하려고 할 수 표현. – GeekedOut

답변

4

몇 가지 문제 :

  1. 컨트롤러 이름 SignInsController하지 Sign_inController해야한다. 이름이 UserSessionsController 또는 이와 비슷한 것으로 변경하는 것이 좋습니다. 이는 리소스을 더 잘 반영하기 때문입니다. URL의 다른 이름 (예 : sign_in)을 지정할 수 있습니다.

  2. 컨트롤러 이름이 Mobile 인 이유는 무엇입니까? 주어진 경로에 그 경로가 반영되어 있지는 않지만 모든 경로를 제공하지 않은 것으로 보입니다. 노선은 아마 scope 아래에 있어야한다 :

    scope :module => "mobile" do 
        resource :sign_in 
    end 
    
  3. 가 있기 때문에 전용 "하나"로그인이 있어야한다 그 경로가 당신이 원하는에 따라, 아마 resource :sign_in, :only => [:new, :create, :destroy]resource :sign_in을 선언합니다. 즉, index 작업이 더 이상 존재하지 않으며이 작업을 new 동작으로 바꿉니다.

  4. RESTful 리소스에는 기본적으로 get 동작이 없으므로 나는 그것이 무엇을 의미하는지 확신 할 수 없지만 뭔가 다른 것이어야합니다.