gpt4 book ai didi

ruby-on-rails - 我可以在 Rails 中使用 link_to 创建链接数组吗?

转载 作者:数据小太阳 更新时间:2023-10-29 06:42:26 25 4
gpt4 key购买 nike

我有一个要显示的 url/title 对值列表。 (更具体地说,每个对象都有自己的链接列表,有些链接为 0,有些链接为 1,有些链接更多。)我希望它们出现在以逗号分隔的列表中。所以我在我的 .erb 文件中写了这个:

<%= links.map{|wl| link_to wl.title, wl.url}.join(', ') %>

令我有些惊讶的是,它显示了一个以逗号分隔的HTML 代码列表 我想创建的链接;也就是说,它采用所有尖括号并对它们进行编码。为了确保高阶函数中没有任何有趣的东西,我尝试了一个更命令的版本:

<% a = [] %>
<% links.each do |wl| %>
<% a << link_to(wl.title, wl.url) %>
<% end %>
<%= a.join(', ') %>

当然,结果是一样的。但我不认为我在滥用 link_to,因为如果我将其修改为

<% links.each do |wl| %>
<%= link_to(wl.title, wl.url) %>,
<% end %>

然后它实际上创建了链接。这几乎正是我想要的,除了最后一个逗号之后多了一个逗号。在 link_to 的幕后是否发生了一些神奇的事情,使得它根据其输出的方向采取不同的行动?有什么办法可以绕过那个魔法吗? join 语义正是我在这里想要的,而且我显然可以弄清楚如何推出我自己的(我猜是使用 each_index),但它似乎是一个非常繁重且非 Ruby 的解决方案一定是个普遍问题。

最佳答案

在分隔符字符串上使用 safe_joinhtml_safe

例子:

<%= safe_join(links.map { |l| link_to(l.title, l.url) }, ", ".html_safe) %>

关于ruby-on-rails - 我可以在 Rails 中使用 link_to 创建链接数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17561050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com