2016-12-02 261 views
1

我正在爲喜歡創建工具提示。下面是一個images這我傳遞給提示:如何從數組中刪除方括號和逗號

images = bonus.like_user_avatars.map {|src| "<img src='#{src}'>" } 

bonus.like_user_avatar已經是很喜歡用戶的化身的集合。 一切工作正常,但它看起來像這樣:

enter image description here

這是提示代碼:

span.has-tip data-tooltip="" data-template="<div class='tooltip'>#{images}</div>"Like 

我需要刪除的方括號和逗號,我只是想只在化身提示。我該怎麼做?

+1

可以請你告訴滿偏或查看 –

+0

@Deepak請參閱upd –

+0

使用「編輯」或「更新」標籤並不是必需的或者特別理想的在文中。相反,只需簡單地將這種變化結合起來,就好像它一直存在一樣,所以它變得有意義並且可讀。如果需要,我們可以查看修訂歷史記錄。 –

回答

1

只是join

images.join # <img src='a.jpg'><img src='b.jpg'><img src='c.jpg'> 

只是替換爲以下代碼:

span.has-tip data-tooltip="" data-template="<div class='tooltip'>#{images.join}</div>"Like 
+0

idk如何,但它的工作原理,非常感謝:) –

+0

你正在傳遞數組,因爲它是 –

+0

這就是爲什麼逗號,引號和括號後'加入'它將刪除這些東西 –

1

兩個possiblities:

  1. 你可能需要告訴Rails你的HTML是安全的。在渲染時在字符串上調用 .html_safe
  2. 我寧願保存src屬性在bonus.like_user_avatars中,然後將它們添加到通過rails方法呈現的html中。例如,在您的視圖中(假設您使用的是前一種語法的苗條)。

    - bonus.like_user_avatars.each do |src| 
        = image_tag src, #any options you want here 
    

注意http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/image_tag將有助於與image_tag方法

+0

與上下文相關的Ah並不重要。 @Deepak這是一個偉大的方式:) –

1

mapeach之間的差異。當你想改變原來的列表(它不發生變異)

2.3.0 :001 > array = [1,2,3] 
=> [1, 2, 3] 
2.3.0 :002 > array.map {|v| v+1} 
=> [2, 3, 4] 
2.3.0 :003 > array.each {|v| v+1} 
=> [1, 2, 3] 

map使用。當您使用map時,您只是使用新值創建一個新列表。當你想要產生某種效果時,應該使用each,在這種情況下,你正在輸出一些東西。

在你的情況,你將要在陣列中使用的bonus.like_user_avatars.each