現在、Deviseを使ったユーザーの新規登録機能を実装しております。
数日前まで問題なく新規登録機能が設定できておりましたが
先ほど、ユーザーの新規登録を実行しようとしたところ、フォームから登録ボタンを押しても、フラッシュメッセージやページのリダイレクトなどが反応せず、登録ができなくなってしまいました。
下記に関係がありそうなコードを貼らせていただきますので、解決法についておわかりの方がいらっしゃれば
ご教示いただけますでしょうか。
routes.rb
1Rails.application.routes.draw do 2 devise_for :users, 3 controllers: { registrations: 'registrations' } 4 5 root 'pages#home' 6 get 'pages/about' 7 get 'pages/help' 8 get 'pages/terms' 9 10 get '/users/:id', to: 'users#show',as: 'user' 11 delete 'users/:id', to: 'users#destroy',as:'user_destroy' 12 13 14 mount LetterOpenerWeb::Engine, at: "/letter_opener" if Rails.env.development? 15 resources :contacts 16 resources :posts, only: %i(index new create show edit) 17 resources :chat, only: %i(create show) 18 19end 20
registration_controller.rb
1class RegistrationsController < Devise::RegistrationsController 2 def after_sign_up_path_for(resource) 3 root_payh 4 end 5 6 protected 7 8 def update_resource(resource, params) 9 resource.update_without_current_password(params) 10 end 11 12 def after_update_path_for(resource) 13 user_path(resource) 14 end 15 16 end
registration/new.html.erb
1<% provide(:title, "新規登録") %> 2<div class="form-group text-center"> 3 <h2>新規登録</h2> 4 5 <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> 6 <%= render "devise/shared/error_messages", resource: resource %> 7 8 <div class="field"> 9 <%= f.label :email %><br /> 10 <%= f.email_field :email, autofocus: true, autocomplete: "email" %> 11 </div> 12 13 <div class="field"> 14 <%= f.label :name %><br /> 15 <%= f.text_field :name, autofocus: true, autocomplete: "name" %> 16 </div> 17 18 <div class="field"> 19 <%= f.label :password %> 20 <% if @minimum_password_length %> 21 <em>(<%= @minimum_password_length %> characters minimum)</em> 22 <% end %><br /> 23 <%= f.password_field :password, autocomplete: "new-password" %> 24 </div> 25 26 <div class="field"> 27 <%= f.label :password_confirmation %><br /> 28 <%= f.password_field :password_confirmation, autocomplete: "new-password" %> 29 </div> 30</div> 31 32 33 <div class="terms"> 34 <p>ユーザー利用規約に同意します。</p> 35 <%= link_to "ユーザー利用規約",pages_terms_path %> 36 </div> 37 38 <div class="actions"> 39 <%= f.submit "登録する", class: "btn btn-primary w-100" %> 40 </div> 41 <% end %> 42</div> 43 44 45<%= render "devise/shared/links" %>
application_controller.rb
1class ApplicationController < ActionController::Base 2 protect_from_forgery with: :exception 3 4 before_action :configure_permitted_parameters, if: :devise_controller? 5 protected 6 7 def configure_permitted_parameters 8 added_attrs = [:name,:email,:sex,:profile,:profile_photo,:age,:address] 9 devise_parameter_sanitizer.permit(:sign_up, keys: added_attrs) 10 devise_parameter_sanitizer.permit(:account_update, keys: added_attrs) 11 end 12end 13
config/environment/development.rb
1Rails.application.configure do 2 # Settings specified here will take precedence over those in config/application.rb. 3 4 # In the development environment your application's code is reloaded on 5 # every request. This slows down response time but is perfect for development 6 # since you don't have to restart the web server when you make code changes. 7 config.cache_classes = false 8 9 # Do not eager load code on boot. 10 config.eager_load = false 11 12 # Show full error reports. 13 config.consider_all_requests_local = true 14 15 # Enable/disable caching. By default caching is disabled. 16 # Run rails dev:cache to toggle caching. 17 if Rails.root.join('tmp', 'caching-dev.txt').exist? 18 config.action_controller.perform_caching = true 19 20 config.cache_store = :memory_store 21 config.public_file_server.headers = { 22 'Cache-Control' => "public, max-age=#{2.days.to_i}" 23 } 24 else 25 config.action_controller.perform_caching = false 26 27 config.cache_store = :null_store 28 end 29 30 # Store uploaded files on the local file system (see config/storage.yml for options) 31 config.active_storage.service = :local 32 33 # Don't care if the mailer can't send. 34 config.action_mailer.raise_delivery_errors = false 35 36 config.action_mailer.perform_caching = false 37 config.action_mailer.default_url_options = { host: 'localhost:3000' } 38 config.action_mailer.delivery_method = :letter_opener_web 39 40 # Print deprecation notices to the Rails logger. 41 config.active_support.deprecation = :log 42 43 # Raise an error on page load if there are pending migrations. 44 config.active_record.migration_error = :page_load 45 46 # Highlight code that triggered database queries in logs. 47 config.active_record.verbose_query_logs = true 48 49 # Debug mode disables concatenation and preprocessing of assets. 50 # This option may cause significant delays in view rendering with a large 51 # number of complex assets. 52 config.assets.debug = true 53 54 # Suppress logger output for asset requests. 55 config.assets.quiet = true 56 57 # Raises error for missing translations 58 # config.action_view.raise_on_missing_translations = true 59 60 # Use an evented file watcher to asynchronously detect changes in source code, 61 # routes, locales, etc. This feature depends on the listen gem. 62 config.file_watcher = ActiveSupport::EventedFileUpdateChecker 63 config.action_mailer.default_url_options = { host: 'localhost', port: 3000 } 64end 65
恐れ入りますが、何卒宜しくお願い致します。
数日前からソースが変わっていないなら、突然動かなくなるということはあまりないかなと思います。
何か心あたりはありませんでしょうか?
また、エラーメッセージなどあれば添付していただきたいです。
コメントいただき、感謝申し上げます。
改めて新規登録を行ってみましたところ、今回は正常に登録できました。
rails consoleでもデータが問題なく登録できていることがわかりました、
なぜ突然登録ができなくなったのか原因は不明ですが、取り急ぎご報告させていただきます。
お忙しいところ、ご覧になっていただき、ありがとうございました。
解決したなら、「原因は不明ですが、解決したよ」と自己解決していただくと幸いです。
大変失礼致しました。こちら、自己解決に変更させて頂ました。
回答2件
あなたの回答
tips
プレビュー