2016-07-26 55 views
0

我剛剛將手機登錄系統的應用程序切換爲使用Devise寶石。我之前曾使用過許多應用程序,但從未遇到過這個問題。所有觀點都正確實現,並且顯示的時候就應該,但是當我嘗試創建一個新註冊時,我得到以下錯誤:新安裝設計登錄的問題(RegistrationController#create中的ActionController :: UnknownFormat)

ActionController::UnknownFormat in RegistrationsController#create

它給人的軌跡如下:

responders (2.2.0) lib/action_controller/respond_with.rb:207:in `respond_with' 
devise (4.2.0) app/controllers/devise/registrations_controller.rb:32:in `create' 
actionpack (4.2.6) lib/action_controller/metal/implicit_render.rb:4:in `send_action' 
actionpack (4.2.6) lib/abstract_controller/base.rb:198:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/rendering.rb:10:in `process_action' 
actionpack (4.2.6) lib/abstract_controller/callbacks.rb:20:in `block in process_action' 
activesupport (4.2.6) lib/active_support/callbacks.rb:117:in `call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:117:in `call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile' 
activesupport (4.2.6) lib/active_support/callbacks.rb:505:in `call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:505:in `call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:92:in `__run_callbacks__' 
activesupport (4.2.6) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks' 
activesupport (4.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks' 
actionpack (4.2.6) lib/abstract_controller/callbacks.rb:19:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/rescue.rb:29:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action' 
activesupport (4.2.6) lib/active_support/notifications.rb:164:in `block in instrument' 
activesupport (4.2.6) lib/active_support/notifications/instrumenter.rb:20:in `instrument' 
activesupport (4.2.6) lib/active_support/notifications.rb:164:in `instrument' 
actionpack (4.2.6) lib/action_controller/metal/instrumentation.rb:30:in `process_action' 
actionpack (4.2.6) lib/action_controller/metal/params_wrapper.rb:250:in `process_action' 
activerecord (4.2.6) lib/active_record/railties/controller_runtime.rb:18:in `process_action' 
actionpack (4.2.6) lib/abstract_controller/base.rb:137:in `process' 
actionview (4.2.6) lib/action_view/rendering.rb:30:in `process' 
actionpack (4.2.6) lib/action_controller/metal.rb:196:in `dispatch' 
actionpack (4.2.6) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch' 
actionpack (4.2.6) lib/action_controller/metal.rb:237:in `block in action' 
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:74:in `call' 
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:74:in `dispatch' 
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:43:in `serve' 
actionpack (4.2.6) lib/action_dispatch/routing/mapper.rb:49:in `serve' 
actionpack (4.2.6) lib/action_dispatch/journey/router.rb:43:in `block in serve' 
actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `each' 
actionpack (4.2.6) lib/action_dispatch/journey/router.rb:30:in `serve' 
actionpack (4.2.6) lib/action_dispatch/routing/route_set.rb:817:in `call' 
warden (1.2.6) lib/warden/manager.rb:35:in `block in call' 
warden (1.2.6) lib/warden/manager.rb:34:in `catch' 
warden (1.2.6) lib/warden/manager.rb:34:in `call' 
rack (1.6.4) lib/rack/etag.rb:24:in `call' 
rack (1.6.4) lib/rack/conditionalget.rb:38:in `call' 
rack (1.6.4) lib/rack/head.rb:13:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/params_parser.rb:27:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/flash.rb:260:in `call' 
rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context' 
rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/cookies.rb:560:in `call' 
activerecord (4.2.6) lib/active_record/query_cache.rb:36:in `call' 
activerecord (4.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call' 
activerecord (4.2.6) lib/active_record/migration.rb:377:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call' 
activesupport (4.2.6) lib/active_support/callbacks.rb:88:in `__run_callbacks__' 
activesupport (4.2.6) lib/active_support/callbacks.rb:778:in `_run_call_callbacks' 
activesupport (4.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks' 
actionpack (4.2.6) lib/action_dispatch/middleware/callbacks.rb:27:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/reloader.rb:73:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/remote_ip.rb:78:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' 
railties (4.2.6) lib/rails/rack/logger.rb:38:in `call_app' 
railties (4.2.6) lib/rails/rack/logger.rb:20:in `block in call' 
activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `block in tagged' 
activesupport (4.2.6) lib/active_support/tagged_logging.rb:26:in `tagged' 
activesupport (4.2.6) lib/active_support/tagged_logging.rb:68:in `tagged' 
railties (4.2.6) lib/rails/rack/logger.rb:20:in `call' 
quiet_assets (1.1.0) lib/quiet_assets.rb:27:in `call_with_quiet_assets' 
actionpack (4.2.6) lib/action_dispatch/middleware/request_id.rb:21:in `call' 
rack (1.6.4) lib/rack/methodoverride.rb:22:in `call' 
rack (1.6.4) lib/rack/runtime.rb:18:in `call' 
activesupport (4.2.6) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call' 
rack (1.6.4) lib/rack/lock.rb:17:in `call' 
actionpack (4.2.6) lib/action_dispatch/middleware/static.rb:120:in `call' 
rack (1.6.4) lib/rack/sendfile.rb:113:in `call' 
railties (4.2.6) lib/rails/engine.rb:518:in `call' 
railties (4.2.6) lib/rails/application.rb:165:in `call' 
rack (1.6.4) lib/rack/lock.rb:17:in `call' 
rack (1.6.4) lib/rack/content_length.rb:15:in `call' 
rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service' 
/Users/elizabethbayardelle/.rbenv/versions/2.2.4/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service' 
/Users/elizabethbayardelle/.rbenv/versions/2.2.4/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run' 
/Users/elizabethbayardelle/.rbenv/versions/2.2.4/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread' 

當我嘗試登錄時,我還會看到一個空白的白色屏幕,上面寫着「您需要先登錄或註冊才能繼續」。

我認爲這些錯誤是相關的,但因爲我沒有經驗與這組錯誤Devise我不是100%確定。任何人都可以幫我弄清楚這裏有什麼問題嗎?

附加信息

下面是registrations#new代碼:

<div class="hero-image-row"> 
    <div class="hero-image-outer text-center"> 
    <div class="hero-image-inner text-center"> 
     <%= image_tag 'Background 17.jpg', class: "hero-image",alt: "Beautiful golf hole by the ocean" %> 
    </div> <!-- hero-image-inner --> 
    </div> <!-- hero-image-inner --> 
</div> <!-- row --> 

<div class="overlap-hero-image"> 
    <div class="buffer-25"></div> 
    <div class="buffer-50"></div> 
    <div class="container"> 
    <div class="container text-center col-xs-10 col-xs-push-1" style="background-color: rgba(235, 235, 235, 0.8) !important"> 
     <h1 style="color: black">Sign Up</h1> 

     <%= simple_form_for(resource, as: resource_name, url: user_registration_path(resource_name)) do |f| %> 
     <%= f.error_notification %> 

     <div class="form-inputs text-left row"> 
      <div class="col-sm-12"> 
      <%= f.input :email, required: true, autofocus: true %> 
      </div> 
      <div class="col-sm-6"> 
      <%= f.input :password, required: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %> 
      </div> 
      <div class="col-sm-6"> 
      <%= f.input :password_confirmation, required: true %> 
      </div> 
     </div> 

     <div class="form-actions"> 
      <%= f.button :submit, "Sign up" %> 
     </div> 
     <% end %> 

     <%= render "devise/shared/links" %> 
    </div> <!-- columns box --> 
    </div> <!-- container --> 
</div> <!-- overlap-tall-hero-image --> 

這裏有一個補充registrations_controller一些添加的列:

class RegistrationsController < Devise::RegistrationsController 
    private 

    def sign_up_params 
    params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :gender, :birthday, :dom_hand, :sport, :g_years, :g_rounds, :g_practice, :handicap, :g_score, :admin) 
    end 

    def account_update_params 
    params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :current_password, :gender, :birthday, :dom_hand, :sport, :g_years, :g_rounds, :g_practice, :handicap, :g_score, :admin) 
    end 
end 

而這裏的它是如何體現在我的路線:

devise_for :users, :controllers => { registrations: 'registrations' } 
+0

您能向我們展示註冊#新視圖代碼嗎?您是否定製了Devise控制器? – Leito

+0

@Leito我將'registrations#new'代碼添加到原始帖子中。我在我的用戶表中添加了一些列,所以我還包含了'registrations_controller',以及如何使用我的路由鏈接它。 – Liz

回答

0

原來設計這個自動生成兩個registrations#newsessions#new

<%= simple_form_for(resource, as: resource_name, url: user_registration_path(resource_name)) do |f| %> 

,當我每個窗體上去除(resource_name)錯誤消失。

相關問題