使 Content_tag 在同一行打印两个元素(Rails)

make Content_tag to print two elements in same line(Rails)

content_tag(:p, "link : ") + content_tag(:p, link_to("abc","www.abc.com"))

这会打印

link:
abc

但是我想让它打印出来

link: abc

<p>(Paragraph) 是一个块元素,它是 HTML 机制(所以它总是占据容器的整个宽度)。它与 ruby/rails 代码没有任何关系,您无法通过对 ruby 代码进行任何更改来实现它。您可以使用一些 hacky CSS 解决方案来实现。但好的解决方案是使用内联 <span> 标签。它会做你想做的。您可以使用单个 <p> 作为 2 <span>

的根元素

只需在元素上使用 display: inline-block。这不是 Rails 问题,而是 CSS 怪癖。 p 是一个块元素,因为它占据了父元素的整个宽度,除非它是内联的。

.two p { display: inline-block; }
<div class="one"><p>Hello</p><p>World</p></div>
<div class="two"><p>Hello</p><p>World</p></div>