内容标记内的图像标记在结果字符串中不可用

时间:2014-12-04 21:10:49

标签: ruby ruby-on-rails-3 ruby-on-rails-4

在我的帮助器中,我在内容标记中有一个图像标记,遗憾的是图像标记不是来自包装内容标记(li)的结果字符串中的图像标记,我不知道出了什么问题有它或缺少,希望你指导我。这是代码:

  li = content_tag :li do
    image_tag avatar_url_helper(actors.first)
    content_tag :div, class: "notification_content" do 
      # some content that is rendered correctly
    end
  end

所以结果li字符串不包含图片标记,缺少什么或如何连接它?

1 个答案:

答案 0 :(得分:2)

image_tagcontent_tag,...助手返回包含HTML的字符串。当您给其中一个帮助程序一个块时,帮助程序会将块的返回值插入到生成的字符串中。您提交给content_tag :li的阻止不会返回<img>,它只会返回内部<div>,因此它在功能上等同于:

li = content_tag :li do
  content_tag :div, class: "notification_content" do 
    # some content that is rendered correctly
  end
end

如果您想要<img>内的<div><li>,那么您必须这样说:

li = content_tag :li do
  img = image_tag avatar_url_helper(actors.first)
  div = content_tag :div, class: "notification_content" do 
    # some content that is rendered correctly
  end
  img + div
end