位置有列表。從位置索引中,我希望用戶能夠添加新的列表(屬於該位置),然後重定向到更新的索引。嵌套路由在創建時失敗
我的路線如下:
match 'listings/search' => 'listings#search'
resources :locations do
resources :listings
end
resources :locations
resources :listings
match "listings/:location" => 'listings#show'
下面是上市的形式:
<%= form_for(@listing, :url=>"/locations/#{@location_id}/listings") do |f| %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我想這應該調用創建方法listings_controller:
def create
@location= Location.find(params[:location_id])
@location_id = @location.id
@listing = @location.listings.create(params[:listing])
respond_to do |format|
if @listing.save
redirect_to location_listings_path(@location_id)
else
format.html { render action: "new" }
end
end
end
當我按提交時,它重定向到/位置/ 1 /列表 這是確切的我想要什麼。但窗口是空白的。如果我按刷新(任何其他時間訪問位置/ 1 /列表),它會正確顯示索引。
您可以刪除'respond_to'塊(留下內容),但將else改爲「render:new」。 – jvnill
哇。非常感謝。這是從腳手架代碼中遺留下來的,我從不會認爲這是罪魁禍首。它現在正常工作! – tuna
很高興能有所幫助:)祝你好運! – jvnill