我无法将ID保存在连接表(document_configuration)中。
我有树模型:
document.rb
belongs_to :languages
has_many :document_configurations
has_many :document_catalogs, through: :document_configurations
accepts_nested_attributes_for :document_catalogs
accepts_nested_attributes_for :document_configurations
document_catalog.rb
has_many :document_configurations
has_many :documents, through: :document_configurations
document_configuration.rb
belongs_to :document
belongs_to :document_catalog
所以,我希望获得document_catalog
中所有document_form
的列表。因此,当我创建新文档时,我可以包含相应的目录。
这是我的表格:
<div class="form-group">
<%= f.select :document_catalog_ids, DocumentCatalog.all.collect {|x| [x.name, x.id]}, {}%>
</div>
列出我想要的目录。
这是我的控制者:
def new
@document = Document.new
@document.document_catalogs.build
end
def document_params
params.require(:document).permit(:name, :description, :document_file,
:language_id, {:document_catalog_ids=>[]}) #I tried this too: :document_catalog_ids=>[] without the {}
end
我刚收到此错误:Unpermitted parameter: document_catalog_ids
我真的需要在document_id
模型中保存 document_catalog_id
和document_configuration
另一件事是:我需要在创建,更新和销毁方法中添加其他内容吗?
答案 0 :(得分:0)
处理未经许可的密钥
默认情况下,未明确允许的参数键将记录在开发和测试环境中。在其他环境中,这些参数将被过滤掉并被忽略。
此外,可以通过更改环境文件中的config.action_controller.action_on_unpermitted_parameters
属性来更改此行为。如果设置为:log
,将记录未许可的属性,如果设置为:raise
,则会引发异常。
在GitHub的文档中找到了这个:https://github.com/rails/strong_parameters#handling-of-unpermitted-keys