Использование дефисов в именах аргументов - PullRequest
4 голосов
/ 21 февраля 2011

Я работаю с CFWheels и jquery mobile и пытаюсь передать некоторые настройки jquerymobile в вызов linkto (главным образом, атрибут data-icon. Я никогда не обновлял это раньше, но, похоже, ColdFusion не допускает дефисы вИмена аргументов. Мой вызов выглядит следующим образом:

<cfset contentFor(actioncontent=linkTo(text='Login', route='login', data-icon='check')) />

CFBuilder и Railo выдают ошибку на дефисе. Ошибка Railo:

неверное присвоение слева (railo.transformer.bytecode.op.OpDouble)

Итак, мои вопросы: правильно ли я говорю, что дефисы не допускаются в именах аргументов? Кроме того, если они не разрешены, есть ли способ получитьчерез дефис или мне просто нужно создать тег привязки?

Ответы [ 3 ]

6 голосов
/ 21 февраля 2011

попробуйте использовать кавычки 'data-icon' или двойные кавычки "data-icon"

Это интерпретируется как минус, а не тире

2 голосов
/ 01 апреля 2011

Вы можете заставить это работать на Railo и Adobe CF, сначала создав структуру и отправив ее в коллекцию аргументов.В противном случае он будет работать только на Railo.

Пример:

<cfscript>
    args = {controller="form",
            'data-role'="button",
            'data-theme'="c",
            text="I Accept"};
</cfscript>

#linkTo(argumentCollection=args)#
0 голосов
/ 03 августа 2012

Мой быстрый взлом такой:

#replace(linkTo(text="I accept", route="dashboard"),"<a ","<a data-role='button' ","ALL")#

(акцент на работе взлом - не идеал, но намного проще, чем передача в аргументе коллекции).

...