ruby-on-rails - route - ruby create controller
Rieles: dividir una Ășnica base de datos entre mĂșltiples subdominios (1)
En su application_controller, simplemente:
class ApplicationController < ActionController::Base
before_filter :current_account
helper_method :current_account
def current_account
@account ||= Account.find_by_domain(request.subdomain)
end
end
Entonces, en todos lados:
class WidgetsController < ApplicationController
def index
@widgets = current_account.widgets.paginate(:page=>params[:page])
end
def show
@widget = current_account.widgets.find(params[:id])
end
def create
@widget = current_account.widgets.build(params[:widget])
if @widget.save
...
end
end
end
Al @account
todo en @account
, mantiene separados los datos en los subdominios.
También puede usar current_account
como ayudante en sus vistas.
Soy relativamente nuevo en Rails, y esta es mi situación:
Estoy construyendo una aplicación de administración de inventario con rieles para ayudar a tres sucursales separadas de una compañía a administrar su propio inventario de productos.
Cada una de estas tres ramas realiza un seguimiento de los mismos productos, utiliza los mismos modelos de datos, pero se gestionan por separado. Mi plan es construir una sola aplicación usando una sola base de datos, pero una que rastrea el inventario en las tres ramas.
Mi plan es tener algo como esto:
branch1.inventoryapp.com
branch2.inventoryapp.com
branch3.inventoryapp.com
Cada subdominio llevará a la misma interfaz con las mismas funciones y esencialmente las mismas vistas. La única diferencia será el contenido real de su inventario, que será una lista de los productos que están físicamente en esa sucursal en ese momento.
¿Seré capaz de hacer esto con el enrutamiento del subdominio Rails?
¿Debería tener controladores separados para cada rama?
¿Debo usar espacios de nombres de controlador? Recursos anidados?
¡Gracias por adelantado!