提问人:MarrixRed 提问时间:8/19/2020 最后编辑:MarrixRed 更新时间:8/19/2020 访问量:56
似乎无法提交collection_select并接收未经许可的参数::hero_id
Can't seem to submit collection_select and receiving Unpermitted parameter: :hero_id
问:
对不起,我第一次发帖。我一直在尝试让这个集合提交工作,但每次我按下创建报告按钮时,我都会回到屏幕并在 rails 服务器终端中输出 Unallowed parameter: :hero_id。
型
class Report < ApplicationRecord
validates :subject, presence: true, length: { minimum: 6, maximum: 100 }
validates :description, presence: true, length: { minimum: 10, maximum: 300 }
belongs_to :requester
has_and_belongs_to_many :heros
end
视图/表单
<div class="container">
<div class="row justify-content-center">
<div class="col-10">
<% if @report.errors.any? %>
<h2>The following errors prevented the article from being saved</h2>
<ul>
<% @report.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
<% end %>
<%= form_with(model: @report, class: "shadow p-3 mb-3 bg-dark rounded", local: true) do |f| %>
<div class="form-group row">
<%= f.label :subject, class: "col-2 col-form-label text-light" %>
<div class="col-10">
<%= f.text_field :subject, class: "form-control shadow rounded", placeholder: "Subject of Report" %>
</div>
</div>
<div class="form-group row">
<%= f.label :description, class: "col-2 col-form-label text-light" %>
<div class="col-10">
<%= f.text_area :description, rows: 10, class: "form-control shadow rounded", placeholder: "Description of Issue" %>
</div>
</div>
<div class="form-group row">
<%= f.label :hero, class: "col-2 col-form-label text-light" %>
<div class="col-10">
<%= f.collection_select(:hero_ids, Hero.all, :id, :hero_name, {prompt: "Select a Hero"}, {:required => true}) %>
</div>
</div>
<div class="btn-toolbar p-2 mb-2 row justify-content-center">
<%= f.submit class: "btn btn-primary" %>
</div>
<% end %>
</div>
<div class="mb-3">
<%= link_to '[ Cancel and return to reports listing ]', reports_path, class: "text-info" %>
</div>
</div>
</div>
控制器
def report_params
#byebug
params.require(:report).permit(:subject, :description, hero_ids: [])
end
安慰
(byebug) params.require(:report)
<ActionController::Parameters {"subject"=>"Test report", "description"=>"Test report", "hero_ids"=>"1"} permitted: false>
答: 暂无答案
评论
Report
hero_ids
hero_id
=>hero_ids
)hero_id: []
hero_ids
hero_ids: []
hero_id