ajudante de guiador personalizado - o parâmetro não foi resolvido
# here is CreditCards controller context
{{#with controllers.currentCardCategory}}
{{#each property in cardProperties}}
{{#is property.symbol 'your_savings'}}
<td class="td">{{yourSavings}}</td>
{{else}}
<td class="td">{{cardProperty this property.symbol}}</td>
{{/is}}
{{/each}}
{{/with}}
Eu crio a tabela dinamicamente. Todo o conteúdo vem deArrayController
exceto um que é uma propriedade computada que vem do controlador.symbol' field is underscored like
annual_fee 'e pertence aCreditCardProperty
. Cada categoria de cartão possui um conjunto diferente de propriedades do cartão. Apenas duas categorias têm propriedades (a categoria tem muitas propriedades de cartão) e um registrocomputed
campo definido comotrue
. Isso significa que o modelo deve procurar o controlador correspondente.
Comosymbol
(por exemplo age_to_apply) refere-se a um dos campos CreditCard (ageToApply
) tudo que eu pude descobrir foi usar ocardProperty
ajudante que leva o cartão atual no contexto (this
) e resolveproperty.symbol
, por exemplo:
camelizedProperty = categoryProperty.camelize()
card.get 'camelizedProperty'
Idealmente eu gostaria de fazer sem o ajudante e usá-lo de alguma forma assim:
# *** {{property.symbol}} should look up this context
# and become e.g {{annual_fee}} or {{annualFee}} - is it possible?
{{#with controllers.currentCardCategory}}
{{#each property in cardProperties}}
<td class="td">{{property.symbol}}***</td>
{{/each}}
{{/with}}
Mas o problema é que eu não sei como posso processar essa parte '{{yourSavings}}'. O ajudante que você pode ver vemcoleção de ganhos de ajudantes de guiador. O ajudante, infelizmente, não resolve propriedades para queproperty.symbol
torna-se uma string.
Aqui está:
Handlebars.registerHelper 'is', (value, test, options) ->
if value is test then options.fn(@) else options.inverse(@)
Eu acho que é possível, mascom o ajudante certo - não sei qual, no entanto.
O que eu gostaria de evitar é recorrer à propriedade computada comoif isYourSavings
.