Premièrement : Je promets que j'ai lu tous les messages concernant ce sujet, que j'ai cherché sur tout le web, mais que je ne sais toujours pas...
Je dois modéliser Trip (has_many) et Accomodation (belongs_to). Les Accomodations sont imbriquées dans un Trip :
resources :trips do
resources :routes, :accomodations
end
Le contrôleur ressemble à ça :
def new
@accomodation = Accomodation.new
end
def create
@accomodation = Accomodation.new(params[:accomodation])
if @accomodation.save
flash[:success] = "Accomodation created!"
redirect_to new_trip_accomodation_path(@trip)
else
render 'pages/home'
end
end
La forme :
<%= form_for([@trip, @accomodation]) do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<div class="field">
<%= f.label :title, "Titel" %>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :description, "Beschreibung" %>
<%= f.text_field :description %>
</div>
<div class="actions">
<%= f.submit "Create" %>
</div>
<% end %>
Le formulaire rend le html correct (pour autant que je puisse le voir) :
<form accept-charset="UTF-8" action="/trips/51/accomodations" class="new_accomodation" id="new_accomodation" method="post">
Ok, donc quand je soumets le formulaire, rien ne se passe. Quand je regarde dans le journal du serveur, je peux voir le get-request pour rendre le new-Form. Mais aucune réaction à la soumission... Le formulaire ne se soumet pas du tout ? Pourquoi ? Je n'en ai absolument aucune idée.
Qu'est-ce que j'ai essayé d'autre ?
<%= form_for([@trip, @accomodation], :url => { :action => :create }, :method => :post) do |f| %>
Rien.
<%= form_for([@trip, @accomodation], :url => { :action => :create }, :method => :post) do |f| %>
Rien non plus.
<%= form_for([@trip, @accomodation, @trip.accomodations.new]) do |f| %>
Oublie ça.
Quelqu'un peut-il m'aider ? Des indices où je pourrais commencer à creuser ?
Merci d'avance !