Ruby on rails HABTM复选框未经允许的参数
我无法在远程窗体中保存选定的框 我需要选择一些公司并保存在邀请表中 作为印刷品: 我已尝试加载项许可的参数company_id:[]、company_id=>[]和{company_id=>[]}。。没用 远程表单:Ruby on rails HABTM复选框未经允许的参数,ruby-on-rails,ruby-on-rails-4,has-and-belongs-to-many,Ruby On Rails,Ruby On Rails 4,Has And Belongs To Many,我无法在远程窗体中保存选定的框 我需要选择一些公司并保存在邀请表中 作为印刷品: 我已尝试加载项许可的参数company_id:[]、company_id=>[]和{company_id=>[]}。。没用 远程表单: <%= form_tag @invitations, remote:true do |f| %> <table class="table"> <thead> <tr> <th
<%= form_tag @invitations, remote:true do |f| %>
<table class="table">
<thead>
<tr>
<th></th>
<th>Nome Fantasia</th>
<th>Razão Social</th>
<th>CNPJ</th>
<th>Estado</th>
<th>Cidade</th>
<th>Ramo de atividade</th>
</tr>
</thead>
<tbody>
<%= hidden_field_tag "invitation[company_ids][]", nil %>
<% @companies.each do |company| %>
<tr>
<td><%= check_box_tag "invitation[company_ids][]", company.id, id: dom_id(company) %></td>
<td><%= company.nomefantasia %></td>
<td><%= company.razaosocial %></td>
<td><%= company.cnpj %></td>
<td><%= company.state.estado %></td>
<td><%= company.city.cidade %></td>
<td><%= company.category.nome %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
<%= button_tag(:type => 'submit', :class => 'btn btn-success btn-lg') do %>
Enviar <i class="fa fa-send-o"></i>
<% end %>
<% end %>
消息错误:
Started POST "/invitations" for 127.0.0.1 at 2014-07-14 00:29:21 -0300
Processing by InvitationsController#create as JS
Parameters: {"utf8"=>"✓", "invitation"=>{"company_ids"=>["", "2", "3"]}}
Unpermitted parameters: company_ids
(0.3ms) BEGIN
SQL (0.4ms) INSERT INTO `invitations` (`created_at`, `updated_at`) VALUES ('2014-07-14 03:29:21', '2014-07-14 03:29:21')
(81.3ms) COMMIT
Redirected to http://0.0.0.0:3000/invitations/7
Completed 302 Found in 89ms (ActiveRecord: 82.0ms)
我认为
@Pavan
是对的-
你的情人看起来不错:
Parameters: {"utf8"=>"✓", "invitation"=>{"company_ids"=>["", "2", "3"]}}
这意味着您在调用strong_params
方法时,必须调用以下内容:
params.require(:invitation).permit(company_ids: [])
--
既然您只更新关联的HABTM
数据,为什么不尝试只更新strong\u params
方法以只接受company\u id
属性
--
除此之外,我认为您的系统看起来还可以您的错误是未知属性,不允许parameters@bcdthx兄弟。。发布正确错误为什么您的
允许参数中也有公司id
?请尝试从您的邀请参数中删除公司id
。参数要求(:邀请)。允许(:代表id,:用户id,:quote\id,公司id:[])
params.require(:invitation).permit(company_ids: [])