shallow rails namespace examples concern ruby-on-rails namespaces

ruby on rails - namespace - The Rails Way-Espacios de nombres



routes rails examples (5)

En algunas aplicaciones más pequeñas, no creo que deba separar la interfaz de administración. Simplemente use la interfaz regular y agregue la funcionalidad de administrador para los usuarios que hayan iniciado sesión.

En proyectos más grandes, me gustaría ir con un espacio de nombres. Usar un subdominio no me parece correcto por alguna razón.

Tengo una pregunta sobre cómo hacer algo "The Rails Way". Con una aplicación que tiene una cara pública y una interfaz de administración, ¿cuál es el consenso general en la comunidad de Rails sobre cómo hacerlo?

¿Espacios de nombres, subdominios o renunciar a ellos por completo?


En realidad, no existe una verdadera "vía de Rails" para las interfaces de administración: puede encontrar todas las soluciones posibles en una serie de aplicaciones. DHH ha implicado que prefiere espacios de nombres (con autenticación HTTP básica), pero eso ha seguido siendo una simple implicación y no una de las opiniones oficiales de Rails.

Dicho esto, he encontrado un buen éxito con ese enfoque últimamente (espacios de nombres + HTTP Básico). Se parece a esto:

routes.rb:

map.namespace :admin do |admin| admin.resources :users admin.resources :posts end

admin / users_controller.rb:

class Admin::UsersController < ApplicationController before_filter :admin_required # ... end

application.rb

class ApplicationController < ActionController::Base # ... protected def admin_required authenticate_or_request_with_http_basic do |user_name, password| user_name == ''admin'' && password == ''s3cr3t'' end if RAILS_ENV == ''production'' || params[:admin_http] end end

El condicional de authenticate_or_request_with_http_basic activa la authenticate_or_request_with_http_basic HTTP básica en el modo de producción o cuando ?admin_http=true a cualquier URL, por lo que puede probarla en sus pruebas funcionales y actualizando manualmente la URL mientras navega por su sitio de desarrollo.


Es muy tarde para una respuesta, pero realmente necesitaba una respuesta a esta pregunta: ¿cómo hacer fácilmente áreas de administración?

Aquí está lo que se puede utilizar en estos días: Active Admin , con la gran introducción de Ryan Bates .


Gracias a todos los que respondieron mi pregunta. Parece que el consenso es usar espacios de nombres si lo desea, ya que no hay un enfoque de Rails Way patrocinado por DHH. :)

Nuevamente, ¡gracias a todos!