form_for с вложенным ресурсом не отправляет пост-запрос

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

У меня есть модели Trip (has_many) и Accomodation (belongs_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">

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

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

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

Забудь это.

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

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


person user1034621    schedule 07.11.2011    source источник


Ответы (2)


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

person EppO    schedule 07.11.2011

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

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

не

</form>

?

person snowangel    schedule 16.06.2013