最初: このトピックに関するすべての投稿を読み、ウェブ全体を検索したことを約束しますが、まだわかりません...
旅行 (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| %>
忘れてください。
誰でも助けてくれますか。どこで掘り始めることができるか、手がかりはありますか?
前もって感謝します!