Help us understand the problem. What is going on with this article?

Railsで起きた最初のエラー

こんばんは、ピチピチの社会人です。

本日はRailsで起きたエラーについてです。

問題

RailsでCRUD処理について学んでいる時、ルート、コントロール、ビューの順にコードを書き、rails sをした時に以下のエラー文が出ました。

スクリーンショット 2020-11-29 23.43.10.png
エラー表示怖すぎ、、とりあえずエラー文を読んでみる。
色々調べてみるとどうやらビューファイルに問題があるらしい。

routes.rb
Rails.application.routes.draw do

  get '/users/new', to: 'users#new'
  post '/users', to: 'users#create'
end

users_controller.rb
class UsersController < ApplicationController

  def new
    @user = User.new
  end

  def create
    User.create(user_params)
  end

  private
  def user_params
    params.require(:user).permit(:name, :age)
  end
end

new.html.erb
<p>新規投稿</p>
<%= form_with model: @user, url: "/users", method: :post, local: true do |f| %>
  <p>お名前:<%= f.text_field :name %></p>
  <p>年齢:<%= f.text_field :age %></p>
  <%= f.submit "送信" %>
<% end %>

どこも間違えてる気がしないんですけど、、

原因

いくら考えてもコードの間違いが見つからず、いくら調べてもわからない。
結局一から作成し直すと、先ほど作ったnew.html.erbがusersではなくlayoutsディレクトリに格納されていたことが判明。そりゃエラー出るわ。

対策

分からなかったら素直に人に聞くこと。今回も自分で解決しようとして一時間ほど時間を無駄にしてしまったからある程度自分で考えて、分からなければ恥を忍んで聞くこと。

以上、最近プログラミング学習を始めたピチピチの社会人でした。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away