Quiero crear un CMS como sitio donde el usuario comienza con un algunas páginas genéricas, es decirdinámico CMS como rutas en Ruby on Rails
- página
- sobre
- contacto
- etc.
y desde allí se puede agregar páginas secundarias de forma dinámica, por ejemplo
- página
- artículos
- artículo 1
- algo
- algo, otra cosa
- algo
- artículo 2
- artículo 1
- artículos
- sobre
- contacto
- etc
Para lograr esto, estoy planeando sobre el uso de algún tipo de asociación autorreferencial como
class Page < ActiveRecord::Base
belongs_to :parent, :class_name => 'Page'
has_many :children, :class_name => 'Page'
end
Lo único con lo que estoy luchando es la ruta general ación. Debido a que las páginas se pueden añadir sobre la marcha lo que necesito para generar dinámicamente rutas de estas páginas y no hay forma de saber cuántos niveles de profundidad una página puede estar anidada
Así que si comienzo con la página de inicio: /
y luego empezar a añadir páginas, es decir,
/artículos/Artículo 1/algo/algo-else/otra cosa-
¿Cómo puede algo así puede lograr con los carriles modelo de enrutamiento?
Esa es una gran solución, pero ¿cómo la convertirías a los rieles 3 comandos de 'coincidencia'? – Rumpleteaser
inKit: 'match page.url => 'pages # show',: id => page.id' –
Si está utilizando rails 3, vuelva a cargar sus rutas con' MyApplication :: Application.reload_routes! ' – dhulihan