【问题标题】:Looping over an element in Rails 4 that encloses other elements with loops在 Rails 4 中循环使用循环包围其他元素的元素
【发布时间】:2016-11-23 07:17:39
【问题描述】:

当有另一个元素包含循环属性时,我通过循环使用link_to 运行问题。

这就是我的意思。我在一张图片中显示博客的帖子——这张图片将包含多个内容元素,所有这些都是从我在 Rails 中的表格中提取的。

使用存根作为链接,这可以正常工作,并且它包含<a> 链接中的所有图像/帖子内容:

<ul id="hexGrid">
  <li class="hex">
    <a class="hexIn" href="#">
      <img alt="rss feed" src="http://www.example/image.png" />
      <h1>Business Business Business </h1>
      <p>Ipsum Incorporated is going to do something</p>
    </a>
  </li>
</ul>

也就是说,我希望它在我的Post 表中附加我的Stub 列中的关联链接,所以我将像这样调整代码:

<ul id="hexGrid">
  <li class="hex">
    <%= link_to post.slug, about_path(post.slug), class: "hexIn" %>
      <img alt="rss feed" src="http://www.example/image.png" />
      <h1>Business Business Business </h1>
      <p>Ipsum Incorporated is going to do something</p>
    </a>
  </li>
</ul>

现在我觉得这看起来很棒。我仍在将链接更改为hexIn 类。然而,图像帖子最终被扭曲并且明显错误。

查看源代码后,我注意到 Rails 成功地将 href 更改为表中的链接(好!),但在链接后附加了一个结束 `。由于在原始代码中,此链接在第 7 行之前一直保持打开状态,我相信这是导致问题的原因。

<a class="hexIn" href="/about"></a>

有什么办法可以阻止在第 3 行动态添加 &lt;/a&gt; 来解决这个问题?还是另一种方法?

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

试试这个。

<%= link_to about_path(post.slug), class: "hexIn" do %>
      <img alt="rss feed" src="http://www.example/image.png" />
      <h1>Business Business Business </h1>
      <p>Ipsum Incorporated is going to do something</p>
<%end%>

【讨论】:

  • 请检查缩进看起来不完美。
  • 现在试一试。我看到“未定义方法字符串化键”的错误,这似乎与此答案有关:stackoverflow.com/questions/14986559/…。现在测试一下。似乎你不能在块中进行其他事情(如 h1 和 p)。正在尝试排除故障。
  • do block 会根据您的需要为您完成工作。
  • 嘿,想通了。这是link_to - 参数应该像这样在第一个块中传递:&lt;%= link_to about_path(post.slug), class: "hexIn" do %&gt;。如果你更新你的答案,我会投票赞成。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多