【发布时间】:2011-11-07 23:07:24
【问题描述】:
首先:我保证我已经阅读了有关该主题的所有帖子,搜索了整个网络,但仍然不知道......
我必须为 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| %>
算了。
谁能帮忙。有什么线索可以开始挖掘吗?
提前致谢!
【问题讨论】:
标签: ruby-on-rails form-for nested-resources