2011-11-07 59 views
2

第一:我保證我已經通過每一個崗位關於該主題的閱讀,搜索整個網絡,但還是不知道......的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| %> 

忘掉它吧。

任何人都可以幫忙。任何線索,我可以開始diggin?

在此先感謝!

回答

0

如果此請求沒有服務器日誌,則表示瀏覽器不會觸發提交操作。你有一些JavaScript可能會干擾提交行爲?嘗試刪除標題中的所有JavaScript包含並再次測試。 希望它有幫助。

0

你肯定

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

後,該行不

</form>