【问题标题】:line break for a string placeholder in rubyruby 中字符串占位符的换行符
【发布时间】:2013-04-23 17:29:20
【问题描述】:
<%= f.text_area :comment, placeholder: "Comment on your track or" + \n + "share your favorite lyrics" %>

我怎样才能让安慰剂像

那样换行

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

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

相当丑陋但最简单

【问题讨论】:

  • OP - 看起来你正在构建一个 text_area..like 的形式是吗?

标签: ruby-on-rails ruby


【解决方案1】:

换行符 \n 应该包含在双精度之间,但 HTML 不允许换行,但 Thomas Hunter 建议使用 hack,其中包含使用一堆空格,如下所示:

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

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

【讨论】:

  • 由于某种原因,它只是忽略了 /n 并且输出是评论您的曲目或分享您的最爱。有任何想法吗? \s 产生一个空格,但 \n 什么都不做
  • 尝试大量的空格:)
  • 是的,空白现在可以工作了。由于某种原因,它在 FF 中不起作用,我不得不添加另一个空格
【解决方案2】:

在 Ruby 中,一般"\n" 是换行符。

例如:

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

但是,在您的情况下:

您似乎尝试在 .erb 表达式 &lt;%= ... %&gt; 中使用换行符

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

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

  • 要么将两个字符串放在单独的 DIV 或 SPAN 中
  • 或者在字符串中加入&lt;br /&gt;,而不是"\n"——&lt;br \&gt;是HTML换行符

【讨论】:

    【解决方案3】:

    您正在创建 HTML 代码。 HTML 不关心实际代码中的空格。您需要的是 HTML 本身的中断。但是,似乎根据其他问题Can you have multiline HTML5 placeholder text in a <textarea>?,HTML 不允许在placeholder 字段中换行。

    【讨论】:

    • br 标签不会转义 ruby​​ 字符串
    猜你喜欢
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-15
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    相关资源
    最近更新 更多