Problemas con las validaciones usando Ajax en Rails

Estoy intentando mostrar los errores de validación en Rails usando ajax en un modal, pero no logro mostrarlos, espero puedan ayudarme, agradeceré grandemente, comparto mi código:

_form.html.erb

<%= form_for @enterprise, remote: true, html: { multipart: true } do |f| %>

  <div id="error-messages"></div>    

  <div class="row">
    <div class="small-6 columns">
      <%= f.label :nombre %>
      <%= f.text_field :name, placeholder: "Nombre" %>
    </div>
    <div class="small-6 columns">
      <%= f.label :correo_electronico %>
      <%= f.text_field :email, placeholder: "Correo electronico" %>
    </div>
  </div>

  <div class="row">
    <div class="small-6 columns">
      <%= f.label :contraseña %>
      <%= f.text_field :password, placeholder: "Contraseña" %>
    </div>
    <div class="small-6 columns">
      <%= f.label :confirmar_contraseña %>
      <%= f.text_field :password_confirmation, placeholder: "Confirmar contraseña" %>
    </div>
  </div>

  <div class="row">
    <div class="small-12 columns">
      <%= f.submit "Guardar", class: "button" %>
    </div>
  </div>

<% end %>

update.js.erb

<% if @enterprise.errors.empty? %>
  $('#exampleModal1').foundation('close');
<% else %>
  $('#error_messages').html('<%= render partial: "enterprises/shared/errors" %>');
<% end %>

enterprises/shared/_errors.html.erb

<% if @enterprise.errors.any? %>
  <div id="error_explanation">
    <h2>
      <%= pluralize(@enterprise.errors.count, "error") %> prohibited
      this article from being saved:
    </h2>
    <ul>
      <% @enterprise.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
    </ul>
  </div>
<% end %>

enterprises_controller.rb

def update

    respond_to do |format|
      if @enterprise.update(enterprise_params)
        format.html { redirect_to admin_dashboard_path, notice: 'enterprise was successfully created.' }
        format.js   {}
        format.json { render json: @enterprise, status: :created, location: @enterprise }
      else
        format.html { render action: "edit" }
        format.js   { render action: "edit" }
        format.json { render json: @enterprise.errors, status: :unprocessable_entity }
      end
    end
  end
0
задан 29.12.2016, 21:46
0 ответов

Решенная проблема =D Моя проблема главным образом состоял из следующего, если они закрепляются в коде, я пробую делать render в ошибки, но когда form загружается, чтобы создавать или обновлять, уходил из-за update.js, но, если названный какой-то формой он не делает это render, asique единственное, что я сделал, так как используя возможность в controller я делаю render "edit", внутри format.js, удалите render и добавьте снова код ошибок в form, где он принадлежит изначально и, таким образом, он показывает их без какой-либо проблемы, в заключении единственное, что требуется, состоит в том, чтобы оставлять код ошибок в form или делать простой render без js, и внутри controller внутри update и поверьте, добавлять format.js { render action: "edit" } и пойди чуда =D

1
ответ дан 03.12.2019, 17:56

Теги

Похожие вопросы