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

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

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

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

Ruby

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

Ruby on Rails

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

受付中

POSTでデータベースに情報を登録し、正しくページ遷移することができない

削除済ユーザー
削除済ユーザー

総合スコア0

Ruby on Rails 5

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

Ruby

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

Ruby on Rails

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

1回答

0評価

0クリップ

26閲覧

投稿2018/01/24 15:35

編集2022/01/12 10:55

前提・実現したいこと

(プログラミング初心者のため用語の使い方がおかしいかもしれません。)

railsでユーザー登録機能を作っています。
form_tagでinputに入力された情報をデータベースに登録したいのですが、
レコード追加もできず、想定していたページ遷移も起こりません。

bcryptを導入していますが、has_secure_passwordメソッドをモデルから削除しても同じ問題が発生します。

発生している問題・エラーメッセージ

Started POST "/users/new" for 192.168.33.1 at 2018-01-24 23:52:29 +0900 Cannot render console from 192.168.33.1! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 Processing by UsersController#new as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"rrINnZlFrJmwVUQsdR8y+zIcd9nXPNvf8e7Zv2j74LCs/yp05aKREBYvc2ucNzqAzWltPT72olJ/YBxdPoFb3Q==", "name"=>"なまえ", "email"=>"メアド", "password"=>"[FILTERED]"} Rendering users/new.html.erb within layouts/application Rendered users/new.html.erb within layouts/application (0.3ms) Completed 200 OK in 34ms (Views: 30.7ms)

該当のソースコード

ビュー

HTML

<div class="main"> <div class="login-form"> <h2 class="signup-text">新規登録</h2> <% if @error_message %> <div class="error-message"> <p><%=@error_message %></p> </div> <% end %> <%=form_tag("/users/new") do %> <input type="text" name="name" placeholder="名前"><br> <input type="text" name="email" placeholder="メールアドレス"><br> <input type="password" name="password" placeholder="パスワード"><br> <input type="submit" class="btn signup-button" value="登録"> <% end %> </div> </div>

コントローラ

Ruby

def new @user = User.new(name: params[:name], email: params[:email], password: params[:password]) if @user.save redirect_to("/top") else render("users/sign_up") end end

試したこと

最初に出てきたエラーメッセージに

No template found for UsersController#new, rendering head :no_content

とあったため、newメソッドに対応するビューファイルとしてnew.html.erbを作成したところ、このビューファイルのページに飛ぶようになりました。
GETメソッドとしてルーティングを設定したわけではないにもかかわらず/topにも/users/sign_upにも遷移せず、/newに遷移するようになった理由がわかりません。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

h_daido
h_daido

2018/01/25 07:04 編集

routes\.rbの内容もはってもらえますか?というのも、/users/newに対してPOSTが投げられるのはrailsだとあまりやらないルーティングです。詳しくはhttps://railsguides\.jp/routing\.html の「2\.2 CRUD、動詞、アクション」をみてみるとよいかもしれません。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Ruby on Rails 5

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

Ruby

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

Ruby on Rails

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