No pude encontrar nada aquí ni en ningún otro lugar que cubriera tanto restringir las rutas de un recurso como agregar rutas adicionales no RESTful en Rails 3. Probablemente sea muy simple, pero cada ejemplo o explicación que he encontrado aborda solo un caso, no ambos al mismo tiempo.Restringir rutas de recursos y agregar rutas adicionales no RESTful en Rails 3
He aquí un ejemplo de lo que he estado haciendo en los carriles 2:
map.resources :sessions, :only => [:new, :create, :destroy], :member => {:recovery => :get}
Bastante sencillo, sólo queremos 3 de las 7 rutas REST debido a que los otros no tienen ningún sentido para este recurso, pero también queremos agregar otra ruta que se utiliza en la recuperación de la cuenta.
Ahora Por lo que sé hacer cualquiera de estas cosas es muy sencillo así:
resources :sessions, :only => [:new, :create, :destroy]
Al igual que en los carriles 2. Y:
resources :sessions do
member do
get :recovery
end
end
Entonces, ¿cómo hacer yo combinar estos dos? ¿Puedo seguir usando la antigua forma de Rails 2 de hacer esto? ¿Hay una forma preferida de hacer esto en Rails 3?
Mi '' routes.rb' declara: recursos, cosa única: => [: show] obtienen en: foo,: ON =>: end' miembro, y '' rastrillos routes' da foo_thing GET /thing/foo(.:format) thing # foo' plus 'thing GET /thing(.:format) thing # show'. El enlace a 'thing' funciona, pero si el código navega para vincular' foo_thing', obtengo una pantalla Rails "Routing Error" que dice 'No route matches [GET]"/foo_thing "' - aunque escribo '. ../ thing/foo' en la barra de URL, funciona. (La ruta 'foo_thing' funciona desde dentro del código solo si' routes.rb' tiene la línea 'get 'foo_thing' => 'thing # foo''). ¿Alguna idea sobre lo que estoy haciendo mal? –
Expandí mi pregunta anterior y escribí [esta pregunta] (http://stackoverflow.com/questions/17597382/helper-path-generated-by-rails-based-on-a-custom-rest-method-fails), entonces si tienes una respuesta, ¿podrías ir a ella? Kthxbye. –