Witam,
robię prosty serwis w którym będzie możliwe komentowanie zdjęć… Mam obiekt Photo oraz Opinion w relacji 1 do wielu.
Chcialem zastąpić następującą ścieżkę
map.resources :photos, :has_many => :opinions, :as => 'fotki'
na coś takiego
[code=ruby] map.photo_opinions ‘/fotka/:photo_id/opinie.:format’, :controller => ‘opinions’, :action => ‘index’, :conditions => { :method => :get }
map.connect ‘/fotka/:photo_id/opinie.:format’, :controller => ‘opinions’, :action => ‘create’, :conditions => { :method => :post }
map.new_photo_opinion ‘/fotka/:photo_id/opinie/nowa.:format’,:controller => ‘opinions’, :action => ‘new’, :conditions => { :method => :get }
map.edit_photo_opinion ‘/fotka/:photo_id/opinie/:id/edytuj.:format’, :controller => ‘opinions’, :action => ‘edit’, :conditions => { :method => :get }
map.photo_opinion ‘/fotka/:photo_id/opinie/:id.:format’, :controller => ‘opinions’, :action => ‘show’, :conditions => { :method => :get }
map.connect ‘/fotka/:photo_id/opinie/:id.:format’, :controller => ‘opinions’, :action => ‘update’, :conditions => { :method => :put }
map.connect ‘/fotka/:photo_id/opinie/:id.:format’, :controller => ‘opinions’, :action => ‘destroy’, :conditions => { :method => :delete }
map.photos ‘/fotki.:format’, :controller => ‘photos’, :action => ‘index’, :conditions => { :method => :get }
map.connect ‘/dodaj.:format’, :controller => ‘photos’, :action => ‘create’, :conditions => { :method => :post }
map.new_photo ‘/nowa_fotka.:format’, :controller => ‘photos’, :action => ‘new’, :conditions => { :method => :get }
map.edit_photo ‘/:name/edytuj/:id.:format’, :controller => ‘photos’, :action => ‘edit’, :conditions => { :method => :get }
map.photo ‘/:name/:id.:format’, :controller => ‘photos’, :action => ‘show’, :conditions => { :method => :get }
map.connect ‘/:name/:id.:format’, :controller => ‘photos’, :action => ‘update’, :conditions => { :method => :put }
map.connect ‘/:name/:id.:format’, :controller => ‘photos’, :action => ‘destroy’, :conditions => { :method => :delete }[/code]
w wyniku otrzymałem następujące ścieżki
photo_opinions GET /fotka/:photo_id/opinie(.:format) {:action=>"index", :controller=>"opinions"}
POST /fotka/:photo_id/opinie(.:format) {:action=>"create", :controller=>"opinions"}
new_photo_opinion GET /fotka/:photo_id/opinie/nowa(.:format) {:action=>"new", :controller=>"opinions"}
edit_photo_opinion GET /fotka/:photo_id/opinie/:id/edytuj(.:format) {:action=>"edit", :controller=>"opinions"}
photo_opinion GET /fotka/:photo_id/opinie/:id(.:format) {:action=>"show", :controller=>"opinions"}
PUT /fotka/:photo_id/opinie/:id(.:format) {:action=>"update", :controller=>"opinions"}
DELETE /fotka/:photo_id/opinie/:id(.:format) {:action=>"destroy", :controller=>"opinions"}
photos GET /fotki(.:format) {:action=>"index", :controller=>"photos"}
POST /dodaj(.:format) {:action=>"create", :controller=>"photos"}
new_photo GET /nowa_fotka(.:format) {:action=>"new", :controller=>"photos"}
edit_photo GET /:name/edytuj/:id(.:format) {:action=>"edit", :controller=>"photos"}
photo GET /:name/:id {:action=>"show", :controller=>"photos"}
PUT /:name/:id(.:format) {:action=>"update", :controller=>"photos"}
DELETE /:name/:id(.:format) {:action=>"destroy", :controller=>"photos"}
Niestety zmiana spowodowała, iż podczas dodawania nowej fotografii leci ActionController::MethodNotAllowed - Only get, put, and delete requests are allowed.
Wiecie może czym to jest podyktowane?