【问题标题】:How to wrap the returns of method to one div block如何将方法的返回包装到一个 div 块
【发布时间】:2017-04-24 03:08:07
【问题描述】:

我正在 Rails 应用程序中创建类似模型。要在工具提示中使用图像,我需要将它们全部包装到:

<div class="tooltip">

主要方法是:

  def like_user_avatars
    likes.map(&:user_avatar).map { |avatar| image_tag(avatar,
    class: "tooltip_avatars") }.join
  end

它会生成如下内容:&lt;img src='...'&gt;&lt;img src='...&gt;。我需要将它们全部包装到一个名为 tooltip 的 div 块中,它应该看起来像 &lt;div class="tooltip"&gt;&lt;img src='...'&gt;&lt;img src='...&gt;&lt;/div&gt;. 我尝试添加内容标签 :div, class: "tooltip",但它并没有包含所有内容。我该如何解决我的问题?

【问题讨论】:

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


    【解决方案1】:

    使用concat 组合所有图像并将它们包装到父div

    def like_user_avatars
      content_tag :div, class: 'tooltip' do
        likes.each do |like| 
          concat image_tag(like.user_avatar.avatar, class: "tooltip_avatars")
        end
      end
    end
    

    More about contact and his usage

    【讨论】:

    • 是的,除了 div 应该包含所有喜欢,而不是单个喜欢。
    • @AlexKojin undefined method `output_buffer=' for #<0x007fa67faf1d38>
    猜你喜欢
    • 1970-01-01
    • 2020-12-07
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 1970-01-01
    • 2017-06-06
    相关资源
    最近更新 更多