Rutas anidadas

Tengo una aplicacion en la cual uno de los recursos (roles) deberia ser
solo accesible desde /admin/roles… para esto cree una ruta virtual
/admin de la siguiente forma:

map.resource :admin do |admin|
admin.resources :roles, :name_prefix => ‘admin_’
admin.resources :welcome, :name_prefix => ‘admin_’
admin.resources :users, :name_prefix => ‘admin_’
admin.resource :settings do |settings|
settings.resources :setting_smtps, :name_prefix =>
‘admin_settings_’
settings.resources :setting_ddbbs, :name_prefix =>
‘admin_settings_’
settings.resources :setting_ldaps, :name_prefix =>
‘admin_settings_’
settings.resources :setting_applications, :name_prefix =>
‘admin_settings_’
end
end

a su vez dentro de la misma esta otra ruta virtual llamada settings, las
rutas me funcionan correctamente pero mi problema esta en que tambies es
admisible desde

localhost/roles o localhost/setting_ldaps por ejemplo…

como puedo hacer para que SOLO sean admisible desde /admin o
/admin/settings, segun sea el caso?

he estado buscando ejemplos por todo internet pero solo encuentro para
aqueos que son admisibles desde ambas rutas :s…

Lo mas seguro es que en tu routes.rb tengas una linea asi: map.resources
:roles que deberias sacar.

2008/8/7 Roberto R. [email protected]

Roberto,

si estas en rails 2.x, en lugar de crear un resources “admin”
ficticio, puedes hacer

map.namespace :admin do |admin|
admin.resources :roles <- No hace falta poner :name_prefix
ni :path_prefix ni nada
end

Salutaciones,

Isaac Feliu

Juan P. wrote:

Lo mas seguro es que en tu routes.rb tengas una linea asi: map.resources
:roles que deberias sacar.

2008/8/7 Roberto R. [email protected]

no existe esa ruta, ya las elimine, la unica referencia a roles es la
que esta dentro de admin…

y con respecto a lo de namespace de hacerlo asi tendria que renombrar la
clase de roles en Admin::RolesController lo cual no me serviria ya que
por ejemplo el user y el welcome son controladores que si se tiene
acceso de ambas formas /admin/welcome y admin/users o /welcome y
/users…

podria evitar la entrada a /roles mediante condicionales revisando la
url, pero queria saber si es posible hacerlo de manera directa por medio
de las rutas.

a su vez hago un rake de las rutas y solo me salen bajo /admin y
/settings… las rutas como /roles o /setting_application no salen :s…
como podria bloquearlas desde el mismo archivo routes.rb para que no
sean accesibles?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs