У меня есть модальная форма для редактирования записей для объекта "Плоскости", однако модальная форма не отображается, я пробовал много разных способов сделать это, и я не могу показать это, поэтомуЯ не знаю, что еще делать, вот мой код.
planes.html.erb
<tbody>
<% @planes.each do |p| %>
<tr class="gradeC">
<td>
<%= image_tag(p.image, size: "150x150")%></td>
<td class="w-25"><%= p.provider%>
</td>
<td><%= p.brand%></td>
<td class="center"><%= p.year%></td>
<td class="center"><%= p.call_sign%></td>
<td><%= p.country%></td>
<td><%= p.info%></td>
<td class="text-right">
<div class="btn-group">
<%= link_to 'Edit', edit_plane_path(p), remote: true %>
<button class="btn-white btn btn-xs">Delete</button>
</div>
</td>
</tr>
</tbody>
<div id='post-content'></div>
_edit.html.erb
<!-- FORM EDIT -->
<div id="post-modal" class="modal fade" role="dialog">
<div class="modal-dialog modal-md">
<div class="modal-content">
<div class="modal-body">
<div class="row">
<div class="col-sm-12"><h3 class="m-t-none m-b">Edit plane</h3>
</div>
</div>
<%= render 'form', modal: true %>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
edit.js.erb
$('#post-content').html("<%= j render 'edit', plane: @plane %>");
$('#post-modal').modal('show');
_form.html.erb
<% modal ||= false %>
<% remote = modal ? true : false %>
<%= form_for @plane, remote: remote, html: {role: :form, 'data-model' => 'plane'} do |f| %>
<div class="form-group row">
<div class="col-sm-6">
<label>Brand</label>
<%= f.text_field :brand, class:"form-control"%>
</div>
<div class="col-sm-5">
<label>Model</label>
<%= f.text_field :model, class:"form-control"%>
</div>
</div>
<div class="form-group row">
<div class="col-sm-5">
<label>Year</label>
<%=select_tag:hyear,options_for_select(["2010","2011","2012","2013","2014","2015","2016","2017","2018","2019"], "2019"), class:"select2_demo_1 form-control" %>
<%= f.hidden_field :year %>
</div>
<div class="col-sm-6">
<label>Country</label>
<%= select_tag :hcountry, nil, class:"select2_demo_1 form-control" %>
<%= f.hidden_field :country %>
</div>
<script language="javascript">
populateCountries("hcountry");
</script>
</div>
<div class="form-group row">
<div class="col-sm-6">
<label>Provider</label>
<%= select_tag :hprovider, options_for_select([ "Test", "Test2"], "Test"), class:"select2_demo_1 form-control"%></select>
<%= f.hidden_field :provider %>
</div>
<div class="col-sm-5">
<label>Tactical call sign</label>
<%= f.text_field :call_sign, class:"form-control"%>
</div>
</div>
<div class="form-group row">
<div class="col-sm-6">
<label>Extra info</label>
<%= f.text_area :info %>
</div>
<div class="col-sm-5">
<label>Image</label>
<%= f.file_field :image %>
</div>
</div>
<!-- SUBMIT -->
<button class="btn btn-primary btn-lg float-right ml-2" id="cancelbtn">Cancelar</button>
<%= f.submit "Submit", id:"addpla", class: 'btn btn-primary btn-lg float-right'%>
<% end %>
planes_controller.rb
def edit
@plane = Plane.find(params[:id])
respond_to do |format|
format.html
format.js
end
end
def update
respond_to do |format|
@plane = Plane.find(params[:id])
if @plane.update_attributes(plane_params)
flash[:notice] = 'Product updated!'
redirect_to root_path
format.html { redirect_to @plane, notice: 'Person was successfully created.' }
format.json { render action: 'show', status: :created, location: @plane }
# added:
format.js { render action: 'show', status: :created, location: @plane }
end
end
end
Я пытался поместить модальное окно в planes.html.erb и link_to с данными toggle = modal, которые имеют в качестве цели этот div, но это не так.кажется, ничего не делать.Примерно так:
<%= link_to 'trigger modal', edit_plane_path(p) , remote: true, data: { target: '#modal-window', toggle: 'modal' }, class: 'nav-link'%>
<div id="modal-window" class="modal hide fade" role="dialog" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
</div>
</div>
</div>
Я также пытался поместить следующее <%= render 'edit', modal: true %>
в # modal-content.Также не работает.
Также пытался удалить файл format.html из контроллера, тоже ничего не получилось