Play2表单属性 - 在其中“值 - 不是Symbol的成员”

时间:2012-04-12 14:06:52

标签: scala playframework playframework-2.0

我刚开始使用Play2而且我正在努力学习scala。

在视图中,我有这个简单的表单助手来创建新闻项目。

@textarea(
  newsItemForm("content"),
  '_label -> "Content",
  'rows -> 3,
  'cols -> 50,
)

现在我想在属性中添加data-wysiwyg,但由于它包含 - scala抱怨 - 不是Symbol的成员。

因为'只是编写符号(“data-wysiwyg”)的一种很好的方式,我可以使它工作,但是我的视图看起来会很丑陋,其中有一些属性与Symbol和其他人一起指定与'

我的问题是:有没有办法为html5 '属性使用scala data-表示法?

2 个答案:

答案 0 :(得分:9)

我认为这不可能,因为破折号将被解释为减号。如果要缩短声明,为什么不在字符串中添加方法s来生成相应的符号(类似于生成正则表达式的r方法)?

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

答案 1 :(得分:3)

您还可以使用Symbol随播广告对象的apply方法。我认为这更具可读性,因为它很明显你创建了一个符号:

scala> Symbol("data-wysiwyg");
res0: Symbol = 'data-wysiwyg