Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails嵌套html帮助程序_Html_Ruby On Rails_Ruby_Helpers - Fatal编程技术网

Rails嵌套html帮助程序

Rails嵌套html帮助程序,html,ruby-on-rails,ruby,helpers,Html,Ruby On Rails,Ruby,Helpers,我正在rails应用程序中创建一个助手,在这里我创建了一个导航链接。 现在我想在这个链接中添加一个插入符号,这样我就可以在结尾处得到一个漂亮的箭头 我的html应该如下所示: <li class='dropdown'> <a class='dropdown-toggle' data-toggle='dropdown' href='#' Dropdown <b class='caret'></b> </a>

我正在rails应用程序中创建一个助手,在这里我创建了一个导航链接。 现在我想在这个链接中添加一个插入符号,这样我就可以在结尾处得到一个漂亮的箭头

我的html应该如下所示:

<li class='dropdown'>
   <a class='dropdown-toggle' data-toggle='dropdown' href='#'
       Dropdown
       <b class='caret'></b>
   </a>
  content_tag(:li, class: 'active dropdown') do
    link_to( text, link, class: 'dropdown-toggle' ) do
      content_tag(:b, class: 'caret')
    end
  end
但当我这样做时,我得到了以下错误消息:

undefined method `stringify_keys' for "/":String
我还想添加一些项目到我的下拉列表,所以我需要嵌套一些更多,但我不知道如何。有没有人能帮我,给我指出正确的方向


谢谢

您正在将一个块传递给
link\u to
,因此不应传递它链接文本,如图所示。试试这个:

content_tag(:li, class: 'active dropdown') do
  link_to(link, class: 'dropdown-toggle' ) do
    "#{text}#{content_tag(:b, "", class: 'caret')}".html_safe
  end
end

您正在将一个块传递给
link\u to
,因此不应该传递它link text,如图所示。试试这个:

content_tag(:li, class: 'active dropdown') do
  link_to(link, class: 'dropdown-toggle' ) do
    "#{text}#{content_tag(:b, "", class: 'caret')}".html_safe
  end
end

几乎在那里,但现在它逃脱了插入符号的html,我已经尝试了一些与html_安全的组合,但没有正确的结果。还有其他建议吗?哦,是的<如果没有块,code>content\u tag需要标记内容作为其第二个参数,因此我添加了一个空字符串。另外,您是否考虑过使用
:在
CSS选择器之后附加箭头?几乎在那里,但现在它会在插入符号中转义html,我已经尝试了与html_safe的一些组合,但没有正确的结果。还有其他建议吗?哦,是的<如果没有块,code>content\u tag
需要标记内容作为其第二个参数,因此我添加了一个空字符串。另外,您是否考虑过使用
:after
CSS选择器来附加箭头?