J'ai un formulaire Rails 3.2 ajax qui crée une nouvelle pièce pour un hôtel. Le nouveau formulaire Room ajax fonctionne correctement sur la page d'index Room, mais une fois que j'intègre le nouveau formulaire Room ajax sur une page d'édition Hotel, le formulaire est soumis normalement sans utiliser Ajax.Rails formulaire ajax ne pas soumettre à partir de l'intérieur
Pour créer la nouvelle forme de chambre, j'utiliser le lien suivant sur la page edit.html.erb de Hôtel:
<%#= link_to 'Add a Room', new_room_path(:hotel_id => @hotel.id), :remote => true, :class => 'new_room' %>
Cette charge le formulaire ci-dessous partielle sur cette même page:
<%= form_for @room, :remote => true, :html => { :class => "remote-form" } do |f| %>
<%= f.text_field :number %>
<%= f.text_field :size %>
<% if(params.has_key?(:'hotel_id')) %>
<% @hotel_id = params[:hotel_id] %>
<%= f.hidden_field :hotel_id, :value => @hotel_id %>
<% else %>
<%= f.collection_select(:hotel_id, Hotel.all, :id, :name) %>
<% end %>
<%= f.submit "Add this room", :class => 'room_create' %>
<%= link_to 'Cancel', '#', :class => "room_cancel" %>
<% end %>
Et enfin, je suit dans mon create.js.erb (dans le dossier pièces):
alert('Test creating a room');
var content = $('<%= escape_javascript(render(@room)) %>');
$("#room_list tbody").append(content);
le c reate.js.erb n'est pas exécuté et le formulaire est soumis régulièrement (non-ajax) et j'arrive enfin sur la page show.html.erb de la salle.
Pourquoi le formulaire fonctionne-t-il correctement sur la page d'index Unités, mais pas sur la page d'édition d'hôtel associée?
Merci. J'ai complètement oublié que je nichais des formes. Je vais extraire la forme ajax "add rooms" de la page d'édition et la placer sur l'hotel show.html.erb (ceci est une application business interne). C'est incroyable que quelque chose d'aussi fondamental et évident puisse parfois être négligé. – Ryan