0
我有一个网络应用程序,我正在构建这将允许用户添加课程和他们正在进行的任务。我希望他们能够一次添加多个作业。要做到这一点,我有一个表单,我将添加JavaScript来添加更多的输入字段。带导轨的多表格行
<%= form_tag(@assignment) do |f| %>
<div class="hidden-form">
<input type="hidden" name="course_id" value="<%= @course.id %>">
</div>
<div id="assignments">
<div class="assignment-row">
<div class="fields">
<div class="col-sm-6 col-xs-12">
<div class="form-group">
<%= label_tag :name %>
<%= text_field_tag "assignments[][name]", "", class: "form-control" %>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="form-group">
<%= label_tag :weight %>
<%= text_field_tag "assignments[][weight]","", class: "form-control" %>
</div>
</div>
<div class="col-sm-3 col-xs-6">
<div class="form-group">
<%= label_tag :grade %>
<%= text_field_tag "assignments[][grade]","", class: "form-control" %>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12" style='margin: 15px 0;'>
<button class="btn btn-primary btn-full" id="add-assignment-form">
Add Assignment <span class="fa fa-plus"></span>
</button
</div>
</div>
<div class="footer">
<div class="col-sm-6">
<a href="#" class="btn btn-full btn-default">Skip</a>
</div>
<br class="visible-xs">
<div class="col-sm-6 text-right">
<%= submit_tag("Save and Continue", class: "btn btn-full btn-success") %>
</div>
<% end %>
然后我有我的任务控制器尝试循环通过每个窗体并保存每个条目。
def create
@assignments = params[:assignments]
@course = Course.find(params[:course_id])
@assignments.each do |assignment|
@a = @course.assignments.new(assignment)
if @a.save
respond_to do |format|
format.html { redirect_to root_path, alert: "Course was added!" }
end
end
end
end
我有这个麻烦,因为我不断收到error:ForbiddenAttributesError
我真的不知道如何解决这个问题。我曾尝试将它发送到我的Assignment控制器中的消毒剂,但没有任何工作...
注意:我还没有添加动态表单javascript功能。只是想获得第一项工作...
您必须定义和使用strong_params。 –
我将如何使用具有多个条目的strong_params? –
许可params。请参阅http://api.rubyonrails.org/v5.1/classes/ActionController/StrongParameters.html – krishnar