私はレールのフォームで動作していますが、誰かがそれをすばやく見ることができるかどうか疑問に思っていました。Paramが見つからないか値が空です:新しい内
私の見解は
= form_for @form_submission do |f|
- if @form_submission.errors.any?
#error_explanation
%h2= "#{pluralize(@form_submission.errors.count, "error")} prohibited this form_submission from being saved:"
%ul
- @form_submission.errors.full_messages.each do |msg|
%li= msg
のように見えるがそう
class FormSubmissionsController < ApplicationController
invisible_captcha only: [:create], on_spam: :handle_spam
def new
@form_submission = FormSubmission.new(form_submission_params)
if @form_submission.save
redirect_to thank_you_path
else
redirect_to root_path
end
end
private
def handle_spam
redirect_to root_path
end
def form_submission_params
params.require(:form_submission).permit(:first_name, :last_name, :organization, :email, :phone)
end
end
最終的には私の問題は、私は私が欠けているparamsはわからないということであるように私のコントローラである..and。たとえ私の価値が空であっても、どうやって知ることができますか?それを解決するために私は何ができますか?
あなたの 'new'アクションはここで何をすべきでしょうか? 'new'は主にオブジェクトをインスタンス化するために使用され、それに続いて' create'アクションが続きます。このアクションは、オブジェクトを作成するための強力なパラメータからホワイトリストのパラメータを受け入れるべきです。 – dp7
新しいアクションあなたは新しいフォームを作成し、作成アクションであなたのデータを保存します。また、アプリケーションをデバッグするために 'pry' gemを使用してください。 – user2322409