Ruby on Rails フォームをうまく作成できません
Railsを勉強中です。現在、フォームの作成で入力画面を作成しています。
index.html.erbで以下のエラーが発生してしまい、うまくいきません。
解決策を教えていただけると幸いです。
ArgumentError in Contact#index
First argument in form cannot contain nil or be empty
<%= form_for(@contact, url:{controller:'contact', action:'create'}) do |f| %>
contact_controller.rb
class ContactController < ApplicationController
def index
@msg = "メッセージだよ"
end
def create
@contact = Contactkun.new(new_params)
if @contact.save
@msg = "送信完了"
else
@msg = "エラー"
end
end
private
def new_params
params.require(:contactkun).permit(:name, :content)
end
end
contactkun.rb
class Contactkun < ApplicationRecord
# フォームのバリデーション
validates :name, presence: true
validates :contact, presence: true
end
index.html.erb
<p><%= @msg %></p>
<%= form_for(@contact, url:{controller:'contact', action:'create'}) do |f| %>
<% if @contact.errors.any? %>
<% @contact.errors.full_messages.each do |message| %>
<p><%= message %></p>
<% end %>
<% end %>
<table>
<tr><td>名前</td><td><%= f.text_field :name %></td></tr>
<tr><td>内容</td><td><%= f.text_area :content %></td></tr>
<tr><td></td><td><%= f.submit "問い合わせる" %></td></tr>
</table>
<% end %>