2

最初: このトピックに関するすべての投稿を読み、ウェブ全体を検索したことを約束しますが、まだわかりません...

旅行 (has_many) と宿泊施設 (belongs_to) をモデル化する必要があります。宿泊施設は Trip にネストされています。

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-request が new-Form をレンダリングしていることがわかります。しかし、送信時に反応がありません... フォームはまったく送信されていませんか? なんで?まったくわかりません。

他に何を試しましたか?

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

忘れてください。

誰でも助けてくれますか。どこで掘り始めることができるか、手がかりはありますか?

前もって感謝します!

4

2 に答える 2

0

後の行は確かですか

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

ではない

</form>

?

于 2013-06-16T10:50:52.467 に答える