Я использую x.times
для создания полей вложенной формы для сохранения нескольких записей в базе данных.как не сохранять дополнительные записи, если они ноль, используя x.times
Что я хочу сделать, если пользователь ничего не вводит в одном из полей, допустим, 2 2.times
, тогда он сохранит только тот, который будет заполнен.
Вот контроллер
class Dashboard::ComplaintsController < ApplicationController
def new
@complaint = Complaint.new
2.times { @complaint.witnesses.build }
end
def create
@complaint = current_user.complaints.build(complaint_params)
if @complaint.save
redirect_to dashboard_complaint_path(@complaint)
else
render 'new'
end
end
end
и вот мнение о
<%= form_for @complaint, url: {action: 'create'}, :html => {:multipart => true} do |f| %>
<%= f.text_field :title, placeholder: 'Ej: Trabajo realizado incorrectamente', class: 'form-control', tabindex: '-1' %>
<%= f.fields_for :witnesses do |witnesses_form| %>
<div class="row">
<div class="col-md-6 col-xs-6 col-sm-6">
<%= witnesses_form.text_field :name, placeholder: 'Escriba el nombre del testigo', tabindex: '-1' %>
</div>
<div class="col-md-6 col-xs-6 col-sm-6">
<%= witnesses_form.text_field :phone, placeholder: 'Escriba el número de teléfono' %>
</div>
</div>
<% end %>
<% end %>
Извините, если это кажется нуб вопрос, но я не имел большого опыта работы с RubyOnRails.
Спасибо!