如何在mixin中通过名称获取variables

表格(部分):

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

字段mixin看起来像这样:

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

控制器:

 (req, res)-> user = email: 'someemail' password: '' password_confirmation: '' username: 'someusername' res.render 'users/new', user:user 

我正在尝试使字段混合更通用一些,所以我可以重用它。 我正在寻找一种方法来取代“用户[名称]”“通用[名称]”

你可以用一个破折号( – )在一个模板里设置一个variables

所以,如果你使用通用[名称],你可以在你的表单中执行以下操作:

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