簡體   English   中英

active_admin嵌套表單的不允許的參數

[英]Unpermitted parameters for active_admin Nested Form

我在Active Admin資源中使用了嵌套表單,但是嵌套屬性的值未保存在模型中。

這是我的模型的詳細信息-

class Exceed::Assessment < ActiveRecord::Base

    has_many :assessment_infos, :class_name => "Exceed::AssessmentInfo", :dependent => :destroy
    accepts_nested_attributes_for :assessment_infos, allow_destroy: true

end

下一個型號-

class Exceed::AssessmentInfo < ActiveRecord::Base

    belongs_to :assessment

end

這是Exceed :: Assessment的活動管理資源

ActiveAdmin.register Exceed::Assessment do

  form do |f|
    f.inputs "Exceed Details" do
      f.input :exceed_id, :label => 'Exceed Type', :as => :select, :collection => Exceed.all.map{|s| ["#{s.exceed_type}", s.id]}
      f.input :exceed_section_id, :label => 'section', :as => :select, :collection => ExceedSection.all.map{|s| ["#{s.section}", s.id]}
      f.input :guideline, label: "Section Guideline"   
    end
    f.has_many :assessment_infos do |q|
      q.input :information
    end
    f.actions
  end

  controller do
    def permitted_params
      params.permit exceed_assessment: [:exceed_id, :exceed_section_id, :guideline],
      assessment_infos_attributes: [:information]
    end
  end


end

從我有效的管理表單中,我填寫了extra_assessment和嵌套表單評估信息的詳細信息。 Exceed_assessment的詳細信息已成功保存在模型中,但評估信息未保存。 當我在控制台上檢查它時,顯示錯誤消息-

Unpermitted parameters: assessment_infos_attributes
Unpermitted parameters: utf8, authenticity_token, commit

在糾正錯誤后,我犯了一些愚蠢的錯誤。

首先,在我的Assessment_info模型中,有一列'exceed_assessment_id'。 我將其更改為“ assessment_id”,因為我的模型是評估模型。

其次,我會稍微更改Permit參數的語法,如下所示-

controller do
    def permitted_params
      params.permit exceed_assessment: [:id, :exceed_id, :exceed_section_id, :guideline,
      assessment_infos_attributes: [:assessment_id, :information],]
    end
  end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM