Rails所属类别名称许可

时间:2019-07-24 16:34:15

标签: ruby-on-rails

我有一个模型:正在处理所有附件(带回形针)的介质。我要尝试做的是本质上创建一个从Media中抽取的属性,该属性使用不同的模型:Section。

所以在我的Section模型中,我有以下内容:

Section
 belongs_to :policy, class_name: 'Media',
 optional: true,
 foreign_key: :policy_id

然后在我的表单视图中,我有以下内容:

= f.tb_select :policy, options_from_collection_for_select(text_docs, :id, :attachment_file_name), include blank: 'Select Policy'

该下拉列表有效,并且仅显示我希望通过助手方法获得的文件。但是,当我去保存时会得到:

  

ActionController :: UnpermittedParameters(找到了不允许的参数:   :policy):
  app / controllers / admin / sections_controller.rb:48:in section_params' app/controllers/admin/sections_controller.rb:32:in update'

我的控制器在参数中具有以下内容:

def section_params
 params.require(:region).permit(:name,  :text_to_order,
  location_ids: [], logo_ids: [], employee_ids: [])
end

我已经在参数中尝试了以下方法:

  • :政策,我最终得到
  

ActiveRecord :: AssociationTypeMismatch(Media(#70307010602740)   预期会得到“ 13”,它是String(#70306928901880))的实例

  • :policy_id,我最终得到
  

ActionController :: UnpermittedParameters(找到了不允许的参数:   :policy)

  • policy_ids:[],我最终得到
  

ActionController :: UnpermittedParameters(找到了不允许的参数:   :policy)

除了创建新属性外,如何分配与其他模型连接的仿属性并保存它?

0 个答案:

没有答案