ruby中字符串占位符的换行符

时间:2013-04-29 22:00:59

标签: ruby-on-rails ruby

<%= f.text_area :comment, placeholder: "Comment on your track or" + \n + "share your favorite lyrics" %>

如何让placebolder像

一样进行换行

解决方案只是添加空格,以便下一行换行:

placeholder: "Comment on your track or                         share your favorite lyrics" %>

非常丑陋但最不复杂

3 个答案:

答案 0 :(得分:6)

换行符\n应该包含在double之间,但HTML不允许换行,但是Thomas Hunter提出了一个hack,其中包含使用一堆空格,如下所示:

<%= f.text_area :comment, placeholder: "Comment on your track or                  share your favorite lyrics" %>

您也可以选择使用title属性。

答案 1 :(得分:6)

在Ruby中,一般来说"\n"是新行字符。

e.g:

  puts "first line\nsecond line"
  => 
  first line
  second line

但是,在您的情况下:

您似乎尝试在.erb表达式中使用换行符<%= ... %>

这不起作用,因为这只会格式化原始HTML源中的换行符, 但在格式化的HTML 中,您将看不到换行符! : - )

要查看格式化HTML 中的换行符,您需要执行以下操作:

  • 将两个字符串放在单独的DIV或SPAN中
  • 或将<br />放入字符串而不是"\n" - <br \>是HTML换行符号

答案 2 :(得分:1)

您正在创建HTML代码。 HTML并不关心实际代码中的空格。你需要的是HTML本身的突破。但是,似乎对于另一个问题Can you have multiline HTML5 placeholder text in a <textarea>?,HTML不允许placeholder字段中的换行符。