6

我有这个代码:

div class: item.ui_type do
  link_to image_tag(item.image.image_public_url), item.target)
  link_to item.label, item.target
end

基本上,我想要一个里面有 2 个链接的 div。然而,只有最后一个元素被渲染,大概是因为在 body 中渲染的是块的返回值。

我知道我可以将它们声明为一个数组并加入它们,但是我需要调用 html_safe。当您实际上不信任您收到的输入时,我正在尝试找到一种方法来执行此操作。

这似乎应该是一件非常简单的事情,但我在任何地方都找不到。

任何指针?

4

2 回答 2

1

这是我在div

div(:class => "some_class") do
  [
    link_to("Link1", link1_path),
    link_to("Link2", link2_path)
  ].join.html_safe
end

首先,在数组内的字符串中创建链接标签,其次,将这些字符串连接起来并使其成为 html_safe 以便 div 可以接受它。

于 2018-10-05T14:13:17.497 回答
1

我怀疑 atomdev 的示例有效而 Daniel 的示例无效的原因是它link_to是 Rails 标记助手并且a是 Arbre 标记,请参阅此类似问题。尝试link_totext_node,div或包装span。为此打开一个 Arbre GitHub 问题可能是值得的。

于 2017-02-11T14:55:44.463 回答