将ruby添加到js .html占位符值

时间:2013-12-18 22:03:48

标签: javascript ruby

我正在尝试将此ruby标记添加到正在插入div的输入字段的占位符文本

这就是我现在所拥有的:

    input = $('<div/> ', {'class': 'name-number-field', 'type': 'text'}).html('<input id=​"name" name=​"name" placeholder=​"#{size[:name]}" type=​"text">​<input id=​"number" name=​"number" placeholder=​# type=​"text">​')

占位符文本以占位符=“”#{size [:name]}“”

的形式返回

我尝试了js逃避的事情并且没有用?

1 个答案:

答案 0 :(得分:0)

#{size[:name]}不会被ruby解释,因为它被单引号字符串包装。除了单引号转义序列\'和单个反斜杠转义序列\\之外,ruby直接处理单引号之间的所有其他内容。

对字符串使用双引号并转义:

中的双引号
html("<input id=\​"name\" name=​\"name\" placeholder=​\"#{size[:name]}\" type=​\"text\">​<input id=​\"number\" name=​\"number\" placeholder=​# type=​\"text\">​")

或者使用%字符指定new delimiter,默认情况下它将是一个插值字符串。

html(%~<input id=​"name" name=​"name" placeholder=​"#{size[:name]}" type=​"text">​<input id=​"number" name=​"number" placeholder=​# type=​"text">~)