我有一个使用简单形式gem创建的表单。我创建它作为局部,然后在我的视图中渲染这个部分。但是我需要在我的应用程序的另一个区域中再次使用该表单。但不幸的是,由于不同的造型要求,我无法向我们提供部分确切的形式。所以我最终创造了一个新的,唯一的区别是有一些不同的风格。
然而,通过这样做,我遇到的问题是我必须在我的控制器中使用与create相同的方法,这给了我一个错误说明,pram is missing or the value is empty:form_submission
最终,我不知道我丢失了什么样的参数,或者我无法知道该值是否为空。
这是我的控制器。如您所见,create
和case_study
都相同。
class FormSubmissionsController < ApplicationController
invisible_captcha only: [:create], on_spam: :handle_spam
def new
@form_submission ||= FormSubmission.new
end
def create
@form_submission = FormSubmission.new(form_submission_params)
if @form_submission.save
redirect_to thank_you_path
else
render :new
end
end
def case_study
@form_submission = FormSubmission.new(form_submission_params)
if @form_submission.save
redirect_to thank_you_path
else
render :new
end
end
private
# Only allow a trusted parameter "white list" through.
def form_submission_params
params.require(:form_submission).permit(:first_name, :last_name, :organization, :email, :phone, :recognition, :inquiry)
end
end
我的观点称为case_study.html.haml
,我的部分位于
= simple_form_for @form_submission do |f|
.col-md-4.col-md-offset-2
.field.reco
= f.input :first_name, input_html: { class: "formStyling" }, label: "First name", required: false
.field.reco
= f.input :last_name, input_html: { class: "formStyling" }, label: "Last name", required: false
.field.reco
= f.input :phone, input_html: { class: "formStyling" }, label: "Phone", required: false
%br
%br
.col-xs-3.col-xs-offset-4
= f.submit 'Submit', class: "btn btn-default"