Question

Formulaire (partiel):

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')

Le mélange de terrain ressemble à ceci:

mixin field(type, n, label)
  .clearfix
    label(for='#{n}') #{label}
    .input
      input#password.span8(name=n, type=type, value=user[name])

Manette:

(req, res)->

  user =
    email: 'someemail'
    password: ''
    password_confirmation: ''
    username: 'someusername'

  res.render 'users/new',  user:user

J'essaie de rendre le mélange de terrain un peu plus générique pour que je puisse le réutiliser. Je cherche un moyen de remplacer "l'utilisateur [nom] par "générique [nom]

Était-ce utile?

La solution

Vous pouvez définir une variable à l'intérieur d'un modèle en jade avec un tableau de bord (-)

Donc, si vous utilisez un [nom] générique, vous pouvez effectuer ce qui suit dans votre formulaire:

-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')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top