我在活动管理资源中使用嵌套形式,但是嵌套属性值不在模型中保存。
这是我模特的细节-
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::active的活动管理资源
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从我的活动管理表单中,我填写了exceed_assessment和嵌套表单assessment_info的详细信息。Exceed_assessment详细信息在模型中成功保存,但assessment_info没有保存。当我在控制台上检查它时它会显示错误信息-
Unpermitted parameters: assessment_infos_attributes
Unpermitted parameters: utf8, authenticity_token, commit发布于 2015-10-09 11:39:56
我犯了一些愚蠢的错误,纠正了它们的工作。
首先,在我的Assessment_info模型中有一个列‘exceed_ Firstly _id’。我将其改为“assessment_id”,因为我的模型是belongs_to评估模型。
第二,我稍微改变了许可参数的语法,像这样-
controller do
def permitted_params
params.permit exceed_assessment: [:id, :exceed_id, :exceed_section_id, :guideline,
assessment_infos_attributes: [:assessment_id, :information],]
end
endhttps://stackoverflow.com/questions/33034140
复制相似问题