前提・実現したいこと
現在、Ruby on Rails6 超入門という参考書で勉強しています。 『モデルをフォームに適用する』という項目で構文エラーが出てしまいました。 どなたかご教示頂けれが幸いです。 何卒宜しくお願い致します。 ここに質問の内容を詳しく書いてください。
###下記がエラーとして出てきます。
ArgumentError in People#add First argument in form cannot contain nil or be empty Extracted source (around line #3): 1<h1 class="display-4 text-primary">People#add</h1> 2<p><%= @msg %></p> ↓下記の構文で赤いラインが出てきてしまいます。 3<%= form_for(@person, url:{controller:'people', action:'create'}) do |form| %> 4 <div class="form-group"> 5 <label for="name">Name</label> 6 <%= form.text_field :name, class:"form-control" %>
###add.html.erb
<h1 class="display-4 text-primary">People#add</h1> <p><%= @msg %></p> <%= form_for(@person, url:{controller:'people', action:'create'}) do |form| %> <div class="form-group"> <label for="name">Name</label> <%= form.text_field :name, class:"form-control" %> </div> <div class="form-group"> <label for="age">Age</label> <%= form.text_field :age, class:"form-control" %> </div> <div class="form-group"> <label for="mail">Mail</label> <%= form.text_field :mail, class:"form-control" %> </div> <%= form.submit class:"btn btn-primary" %> <% end %>
###controller
class PeopleController < ApplicationController def index @msg = 'Person data.' @data = Person.all end def show @msg = "Indexed data." @data = Person.find(params[:id]) end def add @msg = "add new data." end def create if request.post? then obj = Person.create(name: params['name'], age: params['age'], mail:params['mail']) end redirect_to '/people' end end
###routes.rb
Rails.application.routes.draw do get 'people/index' get 'people', to: 'people#index' get 'people/add' post 'people/add', to: 'people#create' get 'people/:id', to: 'people#show' get 'msgboard', to: 'msgboard#index' post 'msgboard', to: 'msgboard#index' get 'msgboard/index' post 'msgboard/index' get 'hello/index' get 'hello', to: 'hello#index' get 'hello/other' post 'hello', to: 'hello#index' post 'hello/index' # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html end
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。