我使用的是rails3-jquery-autocomplete
創建的寶石here.我在查詢一張用戶表,並希望下拉菜單顯示名稱旁邊的用戶個人資料圖像。我有一個User
模型和一個多態的Image
模型。每個用戶:has_one
圖像。在圖像模型中,我使用回形針附加圖像,在模型中稱爲pic
。rails3-jquery-autocomplete:在結果列表中顯示圖像?
rails3-jquery-autocomplete
gem在文檔中說我可以在控制器中指定:display_value
。我正在使用這種技術,它工作正常;也就是說,我有一個返回值的自定義方法,並且它可以正確返回。該自定義方法位於User模型中,通過正確設置gem。我想要做的是返回:tiny
版本的用戶圖像,並在下拉列表中將其顯示在名稱的左側。下面的顯示方法工作得很好:
def autocomplete_list_display
"#{full_name}"
end
我試着做到以下幾點:
def autocomplete_list_display
i = self.image
"#{image_tag(i.pic(:tiny))}" + " #{full_name}"
end
我得到的錯誤
NoMethodError (undefined method 'image_tag' for #<User id: 4, full_name: "My Name">):
如果我離開了image_tag()
一部分,則圖像的URL正確顯示。我似乎無法得到此呈現爲呈現HTML,但是,即使使用它的.html_safe
方法。請注意,我也試過以下,但它並沒有呈現爲HTML:
def autocomplete_list_display
i = self.image
"<img src='#{i.pic(:tiny)}' />"
end
我怎樣寫一個:display_value...
方法,讓我在結果中嵌入HTML和顯示名稱旁邊的用戶形象?這可以通過該方法完成,還是必須在JavaScript中完成? (在後一種情況下,如何修改.js文件以顯示圖像?)