Technical Documentation
Return to Main Documentation
SPANISH - version 2.2
SPANISH - version 2.2
  • Introducción
  • Primeros pasos
    • Crea tu fork
    • Configura tu fork
    • Mantén tu fork actualizado
    • Comunicación
  • Instalación
    • Instalación local
      • Prerrequisitos
      • Ubuntu Linux
      • Debian Linux
      • macOS
      • Windows
      • Vagrant
      • Docker
    • Servidores de producción y pruebas
      • Instalador
      • Crear usuario
      • Generación de claves SSH
      • Instalación manual (no recomendada)
      • Digital Ocean
      • Heroku
      • Configuración del servidor de correo
    • Configuración básica
    • Documentación y guías de usuario
  • Personalización
    • Introducción
    • Traducciones y textos
    • Imágenes
    • Estilos con CSS
    • JavaScript
    • Modelos
    • Controladores
    • Vistas y HTML
    • Componentes
    • Otras clases de Ruby (GraphQL, lib, mailers, builders)
    • Gemas
    • Configuración de la aplicación
    • Rutas
    • Tests
  • Funcionalidades Técnicas
    • OAuth
    • GraphQL
    • Recomendaciones de debates y propuestas
    • Configurar conexión con el Censo
    • Local Census
    • Multitenancy
    • Traducciones de contenido de usuario
  • Proyecto Open Source
    • Código de conducta
    • Contribuciones
    • Licencia
    • Open source forks y modificaciones
Powered by GitBook
On this page
  1. Personalización

Controladores

PreviousModelosNextVistas y HTML

Last updated 8 months ago

Al igual que los modelos, los controladores están escritos en Ruby, con lo cual su personalización es similar solo que usaremos el directorio app/controllers/custom/ en lugar del directorio app/models/custom/. Echa un vistazo a la documentación de para más información.

Personalización de parámetros permitidos

Al personalizar Consul Democracy, a veces querrás añadir un nuevo campo en un formulario. Además de o que renderiza ese formulario, tendrás que modificar el controlador para que acepte el nuevo campo. En caso contrario, el nuevo campo será ignorado completamente; esta práctica se utiliza para evitar .

Por ejemplo, supongamos que has modificado el modelo SiteCustomization::Page para que utilice un campo llamado author_nickname y has añadido ese campo al formulario para crear una nueva página en el área de administración. Para añadir este campo a la lista de parámetros permitidos por el controlador, crea el archivo app/controllers/custom/admin/site_customization/pages_controller.rb con el siguiente contenido:

load Rails.root.join("app", "controllers", "admin", "site_customization", "pages_controller.rb")

class Admin::SiteCustomization::PagesController

  private

    alias_method :consul_allowed_params, :allowed_params

    def allowed_params
      consul_allowed_params + [:author_nickname]
    end
end

Nótese cómo estamos creando un alias para el método original allowed_params y luego estamos llamando a ese alias. De esta manera, todos los parámetros permitidos por el código original también estarán permitidos en nuestro método personalizado.

personalización de modelos
personalizar la vista
el componente
ataques de asignación masiva