form_for с вложенным ресурсом не отправляет пост-запрос - PullRequest
2 голосов
/ 08 ноября 2011

сначала: я обещаю, что прочитал все посты по этой теме, искал всю сеть, но все еще не знаю ...

Мне нужно модели Trip (has_many) и Accommodationodation (own_to)).Помещения вложены в поездку:

resources :trips do
    resources :routes, :accomodations
end

Контроллер выглядит так:

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

Форма:

<%= 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 %>

Форма отображает правильный HTML (насколько я вижу):

<form accept-charset="UTF-8" action="/trips/51/accomodations" class="new_accomodation" id="new_accomodation" method="post">

Хорошо, поэтому, когда я отправляю форму, ничего не происходит.Когда я просматриваю журнал сервера, я вижу запрос get для рендеринга новой формы.Но никакой реакции на отправку ... Форма не отправляется вообще?Зачем?Я абсолютно не знаю.

Что еще я пробовал?

 <%= form_for([@trip, @accomodation], :url => { :action => :create }, :method => :post) do |f| %>

Ничего.

 <%= form_for([@trip, @accomodation], :url => { :action => :create }, :method => :post) do |f| %>

Ничего так же.

<%= form_for([@trip, @accomodation, @trip.accomodations.new]) do |f| %>

Забудь об этом.

Может кто-нибудь помочь.Любые подсказки, где я мог бы начать diggin?

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 16 июня 2013

Вы уверены, что строка после

<form accept-charset="UTF-8" action="/trips/51/accomodations" class="new_accomodation" id="new_accomodation" method="post">

не

</form>

?

0 голосов
/ 08 ноября 2011

Если для этого запроса нет журнала сервера, это означает, что браузер не запускает действие отправки. У вас есть какой-нибудь javascript, который может помешать отправке? попробуйте удалить все включения javascript в заголовки и протестируйте снова. Надеюсь, это поможет.

...