在 Rails 视图中,如何在 HTML 代码片段中显示动态代码?

In a Rails view, how do I display dynamic code within a HTML code snippet?

在 Rails 视图的 Ruby 中,如何显示包含动态生成代码的 HTML 代码片段?

例如,用户会看到不同的 HTML 代码片段,具体取决于他们的 user.url(其中 url 存储在数据库中的 User 记录中):

用户 A 可能会看到以下代码片段:

<a href="www.example-a.com/123">

用户 B 可能会看到以下代码片段:

<a href="www.example-b.com/456">

解决方案原来是使用<code>以代码片段格式显示,然后使用h方法初步转义HTML,然后使用反斜杠 \ 转义 HTML 属性(反斜杠允许您在 HTML 中使用双引号,而不仅仅是单引号)。最后,Ruby插值#{...}生成Ruby代码。

<code>
  <%= h "<a href=\"#{user.url}\" title=\"My Title\">" %>
</code>