Атрибуты формы Play2 с - in them "value - не является символом символа"
Я только что начал с Play2, и я боюсь с scala.
В представлении у меня есть этот простой помощник формы, чтобы создать новостной элемент.
@textarea(
newsItemForm("content"),
'_label -> "Content",
'rows -> 3,
'cols -> 50,
)
Теперь я хотел бы добавить атрибут data-wysiwyg
, но так как он содержит a - scala, жалуется - не являясь членом Symbol.
так как '
- это просто хороший способ написания символа ( "data-wysiwyg" ), я могу заставить его работать, но тогда мои взгляды будут выглядеть уродливыми с некоторыми атрибутами, указанными с помощью Symbol
, а другие с '
Мой вопрос: есть ли способ использовать нотацию scala '
для атрибутов html5 data-
?
Ответы
Ответ 1
Я не думаю, что это возможно, потому что тире будет интерпретироваться как знак минуса. Если дело в том, чтобы сократить объявление, почему бы не добавить метод s
в строки для создания соответствующего символа (аналогично методу r
для создания regexp)?
class SymbolString( str: String ) {
def s = Symbol(str)
}
implicit def str2symstr( str: String ) = new SymbolString(str)
scala> "hello".s
res20: Symbol = 'hello
scala> "data-wysiwyg".s
res21: Symbol = 'data-wysiwyg
Ответ 2
Вы также можете использовать метод apply объекта Symbol
companion. Я думаю, что это более читаемо, так как очень очевидно, что вы создаете символ:
scala> Symbol("data-wysiwyg");
res0: Symbol = 'data-wysiwyg