我定義嵌套資源這樣如何使用Ruby on Rails的命名路由
resources :item, :only => [:create, :destroy, :update] do
resources :item_image, :only => [ :new, :create, :show , :destroy, :index]
end
我的路線是這樣的(耙路輸出)
item_item_image_index GET /item/:item_id/item_image(.:format) item_image#index
POST /item/:item_id/item_image(.:format) item_image#create
new_item_item_image GET /item/:item_id/item_image/new(.:format) item_image#new
item_item_image GET /item/:item_id/item_image/:id(.:format) item_image#show
DELETE /item/:item_id/item_image/:id(.:format) item_image#destroy
我想到的第一列輸出是「命名路線」。
我想在我的一個視圖中顯示/item/:item_id/item_image(.:format)的路徑。
item_item_image_index GET /item/:item_id/item_image(.:format) item_image#index
我嘗試這樣做:
<%= link_to "users", item_item_image_index %>
而且這個
<%= link_to "users", item_images_path %>
無論工作
我「未定義局部變量或方法`item_images_path/item_item_image_index」錯誤
謝謝你,那有效。還有一個問題,爲什麼我的路由中的POST DELETE路由沒有得到自動生成的路徑名? – GingerJim
沒關係,想通了我的自我。它們都有相同的路徑,唯一不同的是HTTP動詞。準確地說是 – GingerJim
。 url助手很適合定位標記。 POST/PUT/DELETE方法通常包含一個表單,在這個表單中,你必須明確指出(取決於表單助手)與URL一起的HTTP動詞。 (我假設你沒有使用可怕的Rails js hacks作爲anchor標籤:remote => true) – ChuckE