Я Тринг настроить маршрут так:Комбинирование Опция Маршруты в Rails 2.3
GET/настройки/ PUT/Настройки/ GET/Настройки/фотографии PUT/Настройки/фото
Это это код маршрутизации, который у меня есть настройки для этого:
#I just do this for code reuse
get = { :method => :get }
put = { :method => :put }
pub.settings '/settings', :controller => :settings, :action => :index, :conditions => get
pub.with_options :controller => :settings, :path_prefix => "/settings", :name_prefix => "settings_" do |settings|
settings.update '', :action => :update, :conditions => put
settings.photos '/photos', :action => :photos, :conditions => get
settings.photos_update '/photos', :action => :photos_update, :conditions => :put
end
Это работает, но если вы заметили, что первый маршрут «pub.settings» находится за пределами блока mapped_options.
Если бы я был TODO
pub.with_options :controller => :settings, :path_prefix => "/settings", :name_prefix => "settings_" do |settings|
settings.root '', :action => :index, :conditions => get
settings.update '', :action => :update, :conditions => put
settings.photos '/photos', :action => :photos, :conditions => get
settings.photos_update '/photos', :action => :photos_update, :conditions => :put
end
Тогда я хотел бы получить (в рейк маршрутов) путь к настройкам будет «settings_root_path», а не «settings_path»
Кто-нибудь знает, как включить его в блок и все еще имеет имя функции маршрутизации как «settings_path»?
такое определение дает ошибку settings.root: действие =>: индекс,: name_prefix => ноль,: условия => прибудете дает root_path, но не settings_path – Bohdan