Alguém sabe como concatenar uma string com dados dinâmicos para passá-la em um modelo de formulário?
Meu controlador é:
exports.edit = function(req, res) {
var id = req.params.id;
Product.findOne({id: id}, function(err, doc){
if (err) {
res.send("There is no product with this " + id + "!")
} else {
res.partial("products/edit", {title: "Edit", product: doc});
}
});
};
meu arquivo products / edit.jade é:
-if (product != null)
h2 Edit
form.form-edit(method="post", action="products/#{product.id}", name="form-edit")
!=partial("inc/form-edit", { type: "Edit", image: "../img/" + #{product.image}})
// Doesn"t work, i can pass only strings to my form template
e meu arquivo inc / form-edit.jade é:
.....
input#bt-prod-edit.btn.btn-primary(type="button", value="Parcourir")
img(src="/images/#{image}")
div.align-center
input.bt-cancel.btn(type="button", name="bt-cancel", value="Annuler")
input#bt-prod-edit.btn.btn-primary(type="submit", name="bt-prod-edit", value="#{type}")
Então, se eu fizer
!=partial("inc/form-edit", { type: "Edit", image: "image_path"})
funciona bem, mas se eu tentar passar algum dado dinâmico, recebo uma mensagem de erro: Token inesperado ILEGAL
Alguem sabe por quê?
Muito obrigado
Respostas:
1 para resposta № 1Ao invés de:
!=partial("inc/form-edit", { type: "Edit", image: "../img/" + #{product.image}})
Experimentar:
!=partial("inc/form-edit", { type: "Edit", image: "../img/" + product.image})