2014-01-05 4 views
1

Люди, Пытается сгенерировать форму динамически. upstreamData передается и содержит значения, которые я хотел бы заполнить в форме. Следующее сообщение об ошибке Просмотрен:Jade dynamic form placeholder

Unexpected token ILLEGAL 
> 22| input.form-control(type='text', placeholder= #{val.rate.N}) 

код, который не работает:

form(action='/foo', method='POST', role='form') 
    legend Foo Form 
    .form-group.col-sm-2.col-sm-offset-1 
     - each val, key in upstreamData 
      label(for='') #{val.name.S} 
      input.form-control(type='text', placeholder= #{val.rate.N}) 
    button.btn.btn-primary(type='submit') Submit 

код, который работает:

form(action='/foo', method='POST', role='form') 
    legend Foo Form 
    .form-group.col-sm-2.col-sm-offset-1 
     - each val, key in upstreamData 
      label(for='') #{val.name.S} 
      input.form-control(type='text', placeholder='bar') 
    button.btn.btn-primary(type='submit') Submit 

ответ

2

Вы можете обернуть это в кавычки, использовать simp переменная ле, назначить его на что-то другое, а затем использовать это ...

  1. Метод: Заверните:

    input.form-контроль (тип = 'текст', заполнитель = '# {Валу. rate.N} ')

  2. метод: простой переменной, как в ответ Crnag в:

    input.form-управления (тип =' текст», заполнитель = val.rate.N)

  3. метод : назначить его t о чем-то еще, то использовать, что:

    • вар MYVAR = val.rate.N // Хорошо для выполнения некоторой логики при необходимости input.form-контроль ('текст' Type =, заполнитель = MYVAR)

Каждый из них добавит стандартные атрибуты html вокруг атрибута placeholder.

2

Вместо того, чтобы использовать # {переменной} Просто используйте:

input.form-control(type='text', placeholder=val.rate.N)