使用简单形式的两个部分,params缺失或值为空

时间:2016-05-18 21:01:16

标签: ruby-on-rails ruby

我有一个使用简单形式gem创建的表单。我创建它作为局部,然后在我的视图中渲染这个部分。但是我需要在我的应用程序的另一个区域中再次使用该表单。但不幸的是,由于不同的造型要求,我无法向我们提供部分确切的形式。所以我最终创造了一个新的,唯一的区别是有一些不同的风格。

然而,通过这样做,我遇到的问题是我必须在我的控制器中使用与create相同的方法,这给了我一个错误说明,pram is missing or the value is empty:form_submission

最终,我不知道我丢失了什么样的参数,或者我无法知道该值是否为空。

这是我的控制器。如您所见,createcase_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"

0 个答案:

没有答案