我遇到了这个问题,使用rails中的表单处理,并想知道是否有人可以快速查看它。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我失踪。或者即使我的价值是空的,我怎么知道,我能做些什么来解决这个问题?
您的“新”动作应该在这里做什么? 'new'主要用于实例化一个对象,接着是一个'create'动作,它应该接受你强壮的参数中的白名单参数来创建一个对象。 – dp7
您只需渲染新表单并使用创建操作即可保存您的数据。还可以使用'pry' gem来替换应用程序 – user2322409