¿Cómo obtengo una variable por nombre en un mixin?
-
29-10-2019 - |
Pregunta
Forma (parcial):
include ../mixins/form-helpers
form(action='/users/create', method='post')
div.fields
fieldset
mixin field('text', 'email', 'Email')
mixin field('password', 'password', 'Password')
mixin field('password', 'password_confirmation', 'Confirm password')
mixin field('username', 'username', 'Username')
mixin submit('Register')
La mezcla de campo se ve así:
mixin field(type, n, label)
.clearfix
label(for='#{n}') #{label}
.input
input#password.span8(name=n, type=type, value=user[name])
Controlador:
(req, res)->
user =
email: 'someemail'
password: ''
password_confirmation: ''
username: 'someusername'
res.render 'users/new', user:user
Estoy tratando de hacer que la mezcla de campos sea un poco más genérica para poder reutilizarla.Estoy buscando una forma de reemplazar "usuario [nombre]" por "[nombre] genérico"
Solución
Puede establecer una variable dentro de una plantilla en jade con un guión (-)
Entonces, si usa [nombre] genérico, puede hacer lo siguiente en su formulario:
-var generic = user;
include ../mixins/form-helpers
form(action='/users/create', method='post')
div.fields
fieldset
mixin field('text', 'email', 'Email')
mixin field('password', 'password', 'Password')
mixin field('password', 'password_confirmation', 'Confirm password')
mixin field('username', 'username', 'Username')
mixin submit('Register')
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow