Pregunta

Tengo una pregunta acerca de cómo hacer algo "The Rails Way".Con una aplicación que tiene un público que enfrenta lado y una interfaz de administración ¿qué es el consenso general en los Rieles de la comunidad sobre cómo hacerlo?

Los espacios de nombres, subdominios o renunciar a ellos por completo?

¿Fue útil?

Solución

No hay real "de Rails" para la administración de las interfaces, de hecho, usted puede encontrar todas las soluciones posibles en un número de aplicaciones.DHH ha implicado que él prefiere los espacios de nombres (con autenticación Básica de HTTP), pero que ha quedado como un simple implicación y no uno de los oficiales de Rieles de Opiniones.

Dicho esto, he encontrado buen éxito con que enfoque últimamente (namespacing + HTTP Basic).Se parece a esto:

las rutas.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

aplicación.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 en authenticate_or_request_with_http_basic activa el HTTP Basic auth en el modo de producción o al anexar ?admin_http=true a cualquier URL, así que usted puede probar en tus pruebas funcionales y actualizando manualmente la dirección URL como se navega por su sitio de desarrollo.

Otros consejos

En algunas aplicaciones más pequeñas no creo que usted necesita para separar la interfaz de administración.Sólo el uso de la interfaz regular y agregar la funcionalidad de la administración para los usuarios registrados.

En proyectos más grandes, me gustaría ir con un espacio de nombres.El uso de un subdominio no se siente bien para mí por alguna razón.

Me preguntó algo parecido pregunta. Backend de Administración en rails.Una de las respuestas de los mencionados espacios de nombres y eso es lo que he implementado.

Gracias a todos los que respondieron a mi pregunta.Parece que el consenso es el uso de espacios de nombres si quieres ya que no hay DHH patrocinado Rieles enfoque del Camino.:)

De nuevo, gracias a todos!

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

Aquí está lo que puede ser utilizado en estos días: Active Admin, con Ryan Bates gran intro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top