実現させたいこと
ActionController::ParameterMissing in ContactMailsController#createエラーを解決してcreate
画面を表示させたい
プログラミング初心者で、基礎的な部分なのかと思いお恥ずかしいのですが、ご教示頂きたいです。
【routes.rb】
resources :contact_mails, only: [:new, :create] get '/contact_mails', to: 'contact_mails#create'
【contact_mails_controller.rb】
class ContactMailsController < ApplicationController def new @contact = ContactMail.new end def create @contact = ContactMail.new(contact_params) if @contact.save ContactMailer.contact_mail(@contact).deliver redirect_to contact_mails_path(@contact), notice: "お問い合わせを受け付けました。" else redirect_to new_contact_mail_path, alert: "入力に不備があります。" end end private def contact_params params.require(:contact_mail).permit(:name, :email, :subject, :message) end end
【new.html.erb】
<section id="contact_mails"> <h5>お問い合わせフォーム</h5><br><br> <%= form_with model: @contact, url: contact_mails_path, html: {method: :post} do |f| %> <form> <div class="form-group"> <label>お名前 <span class="label label-danger">必須</span></label> <input type="text" class="form-control" placeholder="(例) ○○ 太朗"name="contact_mail[name]" required> <span class="glyphicon form-control-feedback" aria-hidden="true"></span> <div class="help-block with-errors"></div> </div> <br> <div class="form-group"> <label>返信先メールアドレス <span class="label label-danger">必須</span></label> <input type="email" class="form-control" placeholder="(例) xxxxxx@gmail.com" name="contact_mail[email]" required> <span class="glyphicon form-control-feedback" aria-hidden="true"></span> <div class="help-block with-errors"></div> </div> <br> <div class="form-group"> <label>件名 </label> <input type="text" class="form-control" placeholder="(例) ○○について"name="contact_mail[subject]"> <span class="glyphicon form-control-feedback" aria-hidden="true"></span> <div class="help-block with-errors"></div> </div> <br> <div class="form-group"> <label>お問い合わせ内容 <span class="label label-danger">必須</span></label> <textarea placeholder="お問い合わせ内容" rows="7" class="form-control" name="contact_mail[message]" required></textarea> <span class="glyphicon form-control-feedback" aria-hidden="true"></span> <div class="help-block with-errors"></div> </div> <div class="col text-center"> <button type="submit" class="btn btn-primary btn-lg w-25">送信</button> </div> </form> <% end %> </section>
【create.html.erb】
<section id="contact_mails"> <h5>問い合わせ完了画面</h5><br> <p> お問い合わせありがとうございます。<br> 問い合わせ内容は管理者宛にメールで通知しました。<br> </p> <br><br> <h5>問い合わせ内容</h5> <p> ------------------------------------------------<br> <br> 【件名】<br> <%= @contact.subject %> <br><br> 【お問い合わせ内容】<br> <%= @contact.message %> <br><br> 【返信先】<br> <%= @contact.email<br> <br> ------------------------------------------------ </p> %> </section>
行ったこと
コントローラのcontact_params
内を
def contact_params params.permit(:name, :email, :subject, :message) end
に変えてみるとエラーはでないものの、create画面が表示されずに、
入力に不備があります。
と表示される状態です。
どこが原因なのかでしょうか。。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/11 06:34 編集
2020/08/11 07:18
2020/08/11 07:54
2020/08/11 08:52
2020/08/11 09:58