質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

689閲覧

rails diviseにてユーザー登録フォームが保存されない

butter335

総合スコア2

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2021/09/09 11:46

rails初心者です。
なかなか解決できないため質問させてください。
deviseを用いてユーザー登録を実装していたところ、最初のうちは保存されていたのですがいつの間にか保存されなくなっていました。

郵便番号を入れたら住所が出てくるような実装を行なっていてajaxzip3というのを試していたのですが、ajaxzip3では値がうまく保存されず、一旦諦めてコードを元に戻したところ、普通に入力しても保存がされなくなっていました。

application_controller.rbやuser.rbの記述なども何度も確認したのですが解決できず質問させて頂きました。

■config>routes.rb

Rails.application.routes.draw do devise_for :users root to: 'stocks#index' resources :stocks end

■app>views>devise>registrations>new.html.erb

<form> <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> <%= render "devise/shared/error_messages", resource: resource %> <div class="mb-3"> <%= f.label :ユーザー名 %><br> <%= f.text_field :user_name, class: "form-control"%> </div> <div class="field"> <%= f.label :郵便番号 %><br> <%= f.text_field :postal_code, class: "form-control"%> </div> <div class="field"> <%= f.label :都道府県 %><br> <%= f.text_field :prefecture_code, class: "form-control" %> </div> <div class="field"> <%= f.label :市区町村 %><br> <%= f.text_field :city, class: "form-control" %> <div class="field"> <%= f.label :電話番号 %><br> <%= f.text_field :phone_number, class: "form-control" %> <div class="field"> <%= f.label :email %><br /> <%= f.email_field :email, autofocus: true, autocomplete: "email", class: "form-control" %> </div> <div class="field"> <%= f.label :password %> <% if @minimum_password_length %> <em>(<%= @minimum_password_length %> characters minimum)</em> <% end %><br /> <%= f.password_field :password, autocomplete: "new-password", class: "form-control" %> </div> <div class="field"> <%= f.label :password_confirmation %><br /> <%= f.password_field :password_confirmation, autocomplete: "new-password", class: "form-control" %> </div> <div class="actions"> <%= f.submit "Sign up", class: "btn btn-primary" %> </div> <% end %> </form> <%= render "devise/shared/links" %>

■app>controllers>application_controller.rb

class ApplicationController < ActionController::Base before_action :configure_permitted_parameters, if: :devise_controller? def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [ :user_name, :postal_code, :prefecture_code, :city, :phone_number]) end end

■app> models >user.rb

class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable has_many :stocks validates :postal_code, presence: true validates :prefecture_code, presence: true validates :city, presence: true validates :phone_number, presence: true end

また、フォームを送信するとターミナルではこのように表示されています。

Started GET "/users/sign_up?authenticity_token=W4W8eMjg%2BwQGx2BiiWSlKffgYRnC8348n4WRFoPdRfRBvdOax2h7M3gUXIzJtAIKnbgiVnnqb1GdeNfM6ixlPQ%3D%3D&user%5Buser_name%5D=%E3%83%86%E3%82%B9%E3%83%88&user%5Bpostal_code%5D=9999999&user%5Bprefecture_code%5D=%E9%B9%BF%E5%85%90%E5%B3%B6%E7%9C%8C&user%5Bcity%5D=%E9%B9%BF%E5%85%90%E5%B3%B6%E5%B8%82&user%5Bphone_number%5D=000000000&user%5Bemail%5D=aaa%40aaa.com&user%5Bpassword%5D=[FILTERED]&user%5Bpassword_confirmation%5D=[FILTERED]&commit=Sign+up" for ::1 at 2021-09-09 20:43:48 +0900 Processing by Devise::RegistrationsController#new as HTML Parameters: {"authenticity_token"=>"W4W8eMjg+wQGx2BiiWSlKffgYRnC8348n4WRFoPdRfRBvdOax2h7M3gUXIzJtAIKnbgiVnnqb1GdeNfM6ixlPQ==", "user"=>{"user_name"=>"テスト", "postal_code"=>"9999999", "prefecture_code"=>"鹿児島県", "city"=>"鹿児島市", "phone_number"=>"000000000", "email"=>"aaa@aaa.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"} Rendering devise/registrations/new.html.erb within layouts/application Rendered devise/shared/_error_messages.html.erb (Duration: 0.3ms | Allocations: 15) Rendered devise/shared/_links.html.erb (Duration: 0.7ms | Allocations: 79) Rendered devise/registrations/new.html.erb within layouts/application (Duration: 20.1ms | Allocations: 2271) [Webpacker] Everything's up-to-date. Nothing to do Completed 200 OK in 74ms (Views: 60.4ms | ActiveRecord: 0.0ms | Allocations: 7716)

初心者ですので初歩的な質問なのかもしれませんが、ご教示いただけないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

<form></form>で囲ってた部分を外すことで自己解決できました!

投稿2021/09/09 12:51

butter335

総合スコア2

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問