[英]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.