【问题标题】:In a Rails view, how do I display dynamic code within a HTML code snippet?在 Rails 视图中,如何在 HTML 代码片段中显示动态代码?
【发布时间】:2021-02-16 14:21:46
【问题描述】:

在 Ruby on Rails 视图中,如何显示包含动态生成代码的 HTML 代码 sn-p?

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

用户A可能会看到如下代码sn-p:

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

用户B可能会看到如下代码sn-p:

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

【问题讨论】:

  • 您是如何生成/保存自定义网址的?也就是说,你怎么知道要显示什么url?
  • 它将从数据库中的用户记录中获取它,例如
  • 如果 URL 以可用的形式存储,例如“user_url.com”,您能否按原样显示? 用户网址。您可以共享的任何其他代码(用户模型、user.url、您认为不起作用的其他代码等)都会有所帮助
  • 我不认为你理解我的问题 - html 链接需要显示为代码 sn-p。您的建议将呈现一个实际的链接 - 所以用户只会看到 User url 作为链接而不是 <a href="www.example.com"> 作为代码 sn-p。
  • <%= h "<a href='#{user.url}'>" %> 怎么样? (h是html字符转义的方法)

标签: html ruby-on-rails erb


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 2016-08-09
    • 2018-03-02
    相关资源
    最近更新 更多