2016-11-07 10 views
0

Rails 3.2.6アプリケーションにチェック・メールの検証を追加しました。 RAILS_ENV = production railsのエラーを表示する、Rails 4.2.6のアプリケーションに同じものを追加しました。 Rails 4.2.6で「変更時」イベントやルート宣言に変更はありますか? を助けてくださいこれは私が直面していますエラーです: actionpack(4.2.6) のlib/action_dispatch /ミドルウェア/ debug_exceptions:ActionController :: RoutingError([GET] "/ checkemail"と一致するルートはありません)

ActionController :: RoutingError(Noルートの試合は "/のcheckEmail" [GET]を) .rb:21:in call'
actionpack (4.2.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in
'
rat/rails/rack/logger.rb:38:call_app' railties (4.2.6) lib/rails/rack/logger.rb:20:inブロック内のブロック' activesupport (4.2.6)lib/active_support/tagged_logging.rb: 68:block in tagged'
activesupport (4.2.6) lib/active_support/tagged_logging.rb:26:in
でタグ付き 'activesupport(4.2.6) lib/active_support/tagged_logging.rb:68:tagged' railties (4.2.6) lib/rails/rack/logger.rb:20:inで' actionpack(4.2.6)(1.6.4)lib/rack/lockを呼び出してください。これは、「ラック(1.6.4)lib/rack/lock」と呼ばれています。 rb:17:in call' actionpack (4.2.6) lib/action_dispatch/middleware/static.rb:120:in (1.6.4)lib/rack/sendfile.rb:113:call' railties (4.2.6) lib/rails/engine.rb:518:inの場合 'railties(4.2.6) lib/rails/application.rb:165:call' railties (4.2.6) lib/rails/railtie.rb:194:in public_send' (4.2.6) lib/rails/railtie.rb:194:method_missing' passenger (5.0.30) src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:97:in process_request 'パッセンジャー(5.0.30) src/ruby​​_supportlib/phusion_passenger/request_handler/thread_handler.rb:152:accept_and_process_next_request' passenger (5.0.30) src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:113:in main_loop' passenger(5.0。 30) src/ruby​​_supportlib/phusion_passenger/request_handler.rb:416: のblock (3 levels) in start_threads' passenger (5.0.30) src/ruby_supportlib/phusion_passenger/utils.rb:113:inブロックeate_thread_and_abort_on_exception」

そして、これらのファイルは、次のとおりです。

routes.rbを:

devise_for :users, :controllers => {:sessions => 'sessions'}, :path => '', :path_names => { :sign_in => "login", :sign_out => "logout" } do 
    get '/checkemail' => 'sessions#checkemail', :as => 'checkemail' 
end 

sessions_controller.rb:

def checkemail 
    @checkemail = User.find_by_email(params[:checkemail]) 
    if @checkemail.present? 
    respond_to do |format| 
     format.json { render json: "0" } 
    end 
    else 
    respond_to do |format| 
     format.json { render json: "1" } 
    end 
    end 
end 

アプリ/セッション/新.html .erb:

<%= semantic_form_for(@resource, :as => resource_name, :url => user_session_path, :remote => true, :format => :json, :html => { :id => 'mainLogin' }) do |f| %> 
    <input type="hidden" id="email_flag" value="0"> 
    <%= f.inputs do %> 
     <%= f.input :email, :label => 'Your email address', :input_html => { :placeholder => "Email"} %> 
     <label id="error_explanation1" class="error errorExplanation" style="margin-top:-25px; color:red;"></label> 
    <%= f.input :password, :label => 'Your password', :input_html => { :placeholder => "Password"} %> 
    <% end %> 

    <%= f.buttons do %> 
     <%= f.commit_button :label => 'Sign me in', :button_html => {:class => 'login submit button', :disable_with => 'Wait...', :id => 'user_submit' }%> 
    <% end %> 
<% end %> 

<script type="text/javascript"> 

$("#user_submit").click(function(e) { 
    var userEmail = $("#user_email").val(); 
    var v1 = validateFirstPage(); 
    if(v1){ 
    return false; 
}else{ 
    return true; 
} 

}); 

$(document).ready(function() { 
    $(document).on("change", "#user_email", function() { 
     var email = $("#user_email").val(); 
     var url = "/checkemail?checkemail="+email; 
     $.get(url, function(data) { 
      $("#email_flag").val($.trim(data)); 
     }); 
    }); 
}); 
function validateFirstPage(){ 
    var email_flag = $.trim($("#email_flag").val()); 
    var userEmail = $.trim($("#user_email").val()); 
    if(email_flag =="1"){ 
     var error_msg = "Email doesnot exists"; 
     $("#error_explanation1").html(error_msg).fadeIn(); 
    }else{ 
     if(userEmail != "" && email_flag !="1"){ 
      $("#error_explanation1").html("").fadeOut(); 

     } else{ 
      $("#error_explanation1").html("").fadeOut(); 
     } 
     return false; 
    } 
} 

</script> 
+0

実行してくださいすくいルートを確認する必要があります| get routeのgrep checkemailが存在するかどうか – Sunny

+0

何も表示していません。空白。 – user3189916

+0

ですので、小切手の経路はありません – Sunny

答えて

関連する問題