gpt4 book ai didi

ruby-on-rails - 嵌套表单父对象:得到 Rack::Utils::KeySpaceConstrainedParams

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:43 25 4
gpt4 key购买 nike

我正在制作一个横幅系统,我可以在其中将横幅上传到 CampaignBanner(带有描述、url 和位置)。

在 View 中我构建了这样的表单:

.page-header
%h1= t(:'.market_place.title')
.row-fluid
= form_tag update_dashboard_banners_admin_dashboard_index_path, :method => :put do
%fieldset
- @dashboard_banners.each do |dashboard_banner|
.span3
= simple_fields_for "dashboard_banners[]", dashboard_banner do |db|
= db.input :description
= db.input :target
= db.input :target_url
- dashboard_banner.build_banner if dashboard_banner.banner.nil?
= db.fields_for :banner do |f|
= f.input :data, :as => :file

%p= submit_tag t(:'buttons.update'), :class => 'btn btn-primary'

但是当我提交表单时我得到了

expected Array (got Rack::Utils::KeySpaceConstrainedParams) for param dashboard_banners

例如,在我的第一个 fields_for 中,我输入了 target_url 的名称:

dashboard_banners[21][target_url]

我有我的 ID,但在我的横幅的第二个字段中有:

dashboard_banners[][banner_attributes][data]

在这里你可以看到我不再有数字 21。

这是否链接到我得到的内部服务器?

最佳答案

我遇到了同样的错误,然后我将复选框数组的名称重命名为模型名称以外的其他名称。它奏效了。

例如,您将@dashboard_banners 作为您的模型,然后调用您的复选框 dashboard_banners[]。我认为这会导致错误。将其命名为其他名称,例如 d_banner[],然后在 Controller 中将 ii 作为 params[:d_banner] 获取。然后你可以在 Controller 中循环它或做任何你喜欢的事情。

关于ruby-on-rails - 嵌套表单父对象:得到 Rack::Utils::KeySpaceConstrainedParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17091637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com