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

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

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

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

Ruby

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

Q&A

0回答

284閲覧

Rails Tutorial7章終盤にて、ユーザー登録画面で登録を行ってもデータベースが更新されない。

xk2ykx

総合スコア11

Ruby on Rails 5

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

Ruby

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

0グッド

0クリップ

投稿2018/08/27 12:43

編集2018/08/27 12:47

はじめまして。

症状はタイトルの通りです。どういった順序でそういった症状が起こるのかというと…

① /signup にて、アカウント情報の登録を行う。

イメージ説明

以下の情報で登録を行いました。
Name : testtest
Email : abc@abc.com
password : aaaaaaaa1
Confirmation : aaaaaaaa1


② Create my accountボタンを押すと、以下のような画面が表示される。

イメージ説明
エラー内容が、「フォームにエラーが3つあります。①パスワードの欄が空です ②パスワードの欄が空です ③パスワードが6文字未満です。」という記載です。


と言った状態です。

参考になると思われる情報といたしましては、

①当該サーバーログ

Started POST "/signup" for 114.158.180.27 at 2018-08-27 12:29:02 +0000 Cannot render console from 114.158.180.27! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 Processing by UsersController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"/5mjQNvuP/DdixxpEkiD1eJruvvZJZpgWc+JsI59XqbieguxxG2trAsazmypzLXbUK+mcfrrCnLqpwIZ2XXd5A==", "user"=>{"name"=>"testtest", "email"=>"abc@abc.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Create my account"} Unpermitted parameter: :password (0.1ms) begin transaction User Exists (0.2ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER(?) LIMIT ? [["email", "abc@abc.com"], ["LIMIT", 1]] (0.0ms) rollback transaction Rendering users/new.html.erb within layouts/application Rendered shared/_error_messages.html.erb (0.7ms) Rendered users/new.html.erb within layouts/application (3.5ms) Rendered layouts/_rails_default.html.erb (25.8ms) Rendered layouts/_shim.html.erb (0.2ms) Rendered layouts/_header.html.erb (0.5ms) Rendered layouts/_footer.html.erb (0.3ms) Completed 200 OK in 41ms (Views: 36.2ms | ActiveRecord: 0.3ms)

②user.rb

app/models/user.rb

1class User < ApplicationRecord 2 before_save { self.email = email.downcase } 3 validates :name, presence: true, length: { maximum: 50 } 4 VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+.[a-z]+\z/i 5 validates :email, presence: true, length: { maximum: 255 }, 6 format: { with: VALID_EMAIL_REGEX }, 7 uniqueness: { case_sensitive: false } 8 has_secure_password 9 validates :password, presence: true, length: { minimum: 6 } 10end 11

③/signupのビューファイル

app/views.html.erb

1<% provide(:title, 'Sign up') %> 2<h1>Sign up</h1> 3 4<div class="row"> 5 <div class="col-md-6 col-md-offset-3"> 6 <%= form_for(@user , url: signup_path ) do |f| %> 7 <%= render 'shared/error_messages' %> 8 9 <%= f.label :name %> 10 <%= f.text_field :name, class: 'form-control' %> 11 12 <%= f.label :email %> 13 <%= f.email_field :email,class: 'form-control' %> 14 15 <%= f.label :password %> 16 <%= f.password_field :password, class: 'form-control' %> 17 18 <%= f.label :password_confirmation, "Confirmation" %> 19 <%= f.password_field :password_confirmation, class: 'form-control' %> 20 21 <%= f.submit "Create my account", class: "btn btn-primary" %> 22 <% end %> 23 </div> 24</div> 25

私は、パスワードやEmailのバリデートに問題があるか、ビューのタグに問題があって正常にフォームのデータが送信出来ずにこのようなこと起きているのだと思いますが、Rails tutorialの内容を再度読んでみても、どこが悪いか等が全くわかりません。また、またサーバーログに出現する"rollback transaction"等検索をしてみましたが、これと言った解決策がなく、前に進むことができずに困っています。

初心者の質問であり、多々突っ込みどころがあるとは思うのですが、必要な情報があればその都度開示したいと思っておりますので、是非、ご教授頂けないでしょうか。

よろしくお願いいたします。

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

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

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

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

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

mogulla3

2018/08/27 16:10 編集

users_controller.rbの中身も載せてもらえますか?
xk2ykx

2018/08/27 23:24

ご回答ありがとうございます。昨日の夜にusers_controller.rbを修正していましたら、まさしく上手く動くようになりました。
mogulla3

2018/08/27 23:32

おおー、良かったです。「Unpermitted parameter: :password」のログが出ていたのでおそらくStrongParametersの設定漏れで弾かれているかなぁと思った次第でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問