gpt4 book ai didi

ruby-on-rails - 正确使用 simple_form collection_check_boxes

转载 作者:行者123 更新时间:2023-12-04 06:21:04 24 4
gpt4 key购买 nike

我已经设置了 2 个模型如下:

class Sector < ActiveRecord::Base
attr_accessible :summary, :title, :sector_ids

belongs_to :platform
end

class Platform < ActiveRecord::Base
attr_accessible :name, :url
has_many :sectors
end

和一个尝试使用此处示例的表单,如下所示:

<%= simple_form_for @platform, :html => { :class => 'form-vertical'} do |f| %>
<%= f.error_notification %>

<div class="form-inputs">
<div class="row-fluid">
<div class="span12">
<div class="span6">
<%= field_set_tag "General" do %>
<%= f.input :name %>
<%= f.input :url %>
<%= f.collection_check_boxes :sector_ids, Sector.all, :title, :title %>

<% end %>
</div>
</div>
</div>
</div>

<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>

然而,在我尝试提交表单后,出现以下错误:

无法批量分配 protected 属性:sector_ids

我在这里错过了什么?添加适当的关联后,我成功地迁移了数据库,但 Rails 似乎真的不知道现在要用所选的扇区 ID 做什么。

解决方案:

class Sector < ActiveRecord::Base
attr_accessible :summary, :title

belongs_to :platforms
end

class Platform < ActiveRecord::Base
attr_accessible :name, :url, :platform_attributes, :sector_ids
has_many :sectors
end

在 View 中:

<%= f.association :sectors, :as => :check_boxes %>

当然,不要忘记运行“rake db"migrate”,以防您还没有这样做。我还需要重新启动服务器才能应用更改。

我希望这对某人有帮助。

最佳答案

尝试将 { :sector_ids => [] } 添加到您的平台许可列表中。

https://github.com/rails/strong_parameters#nested-parameters

关于ruby-on-rails - 正确使用 simple_form collection_check_boxes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790864/

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