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"

¿Fue útil?

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
scroll top