2017-04-03 5 views
0

탐색에 로그인을 구현하려고하는데 해결할 수없는 오류가 있습니다. 내가 연결을 실행하는 내 양식을 제출 해요 때, 나는이 오류가 : devise를 다른 모델로 사용하는 방법은 무엇입니까?

No route matches [POST] "/login" 

그래서 내가 주제를 다루는이 wiki/devise을 따랐다. 그러나 라인 작동하지 않습니다 :

정의되지 않은 메서드 PlainpageHelper에 대한`helper_method ': 내 마지막 시도에 대한 모듈

, 내가 노력하겠다고

helper_method :resource_name, :resource, :devise_mapping 

이 오류가 이 노선을 내 노선 파일에 추가하려고하지만 여전히 작동하지 않습니다.

get 'login', to: 'sessions#new', as: 'login' 
get 'logout', to: 'sessions#destroy', as: 'logout' 
get 'signup', to: 'users#new', as: 'signup' 

내 코드 :

내 애플 (보기/레이아웃/응용 프로그램) =

<%- if user_signed_in? %> 
    <%= render 'partial/_connected'%> 
    <% else %> 
    <%= render 'partial/_disconnected'%> 
    <% end %> 

내 양식 (보기/부분/_disconnected) =

<li> 
    <div class="row"> 
     <div class="col-md-12"> 
     Connection via 
     <div class="social-buttons"> 
      <a href="#" class="btn btn-fb"><i class="fa fa-facebook"></i> Facebook</a> 
      <a href="#" class="btn btn-tw"><i class="fa fa-twitter"></i> Twitter</a> 
     </div> 

     <form class="form" role="form" method="post" action="login" accept-charset="UTF-8" id="login-nav"> 
      <%= simple_form_for(resource, url: session_path(resource_name)) do |f| %> 

       <div class="form-group"> 
       <%= f.input :email, required: false, autofocus: true %> 
       </div> 
       <div class="form-group"> 
       <%= f.input :password, required: false %> 
       </div>   

       <div class="form-group"> 
       <%= f.submit "Connection", class: "btn btn-success" %> 
       </div> 
       <div class="checkbox"> 
       <%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %> 
       </div> 
      <% end %> 
     </form> 
     </div> 
     <div class="bottom text-center"> 
     New here ? <a href="#"><b>Join Us</b></a> 
     </div> 
    </div> 
</li> 

평원 페이지 도우미 :

module PlainpageHelper 

    def resource_name 
    :user 
    end 

    def resource 
    @resource ||= User.new 
    end 

    def devise_mapping 
    @devise_mapping ||= Devise.mappings[:user] 
    end 

end 

마지막으로 내 경로 :

devise_for :users 

    get 'plainpage/index' 

    authenticated :user do 
    root to: "plainpage#home", as: :authenticated_root 
    end 

    unauthenticated do 
    root 'plainpage#index' 
    end 

이 오류를 해결할 생각이 있다면 내 영웅이 될 것입니다 !! 감사합니다.

답변

0

<form class="form" role="form" method="post" action="login" accept-charset="UTF-8" id="login-nav">을 제거하면 simple_form_forform 태그를 생성하므로 중복됩니다.

모듈에 resource_name, resource, devise_mapping을 추가 할 필요가 없습니다. PlainpageHelper