2017-07-01 26 views
0

好寶石,我能夠成功地存儲,同時通過acts_as_taggable寶石登記他們的個人資料的用戶定義的標籤。問題在於顯示和更新它們。 爲了顯示的目的,我使用了jquery tag-it插件。現在形式顯示,同時整合行爲-AS-加標籤上使用jQuery標籤,它的插件

,創業板給所有標籤爲一個字符串間有空格的形式,而插件需要他們有序列表,以便所有標籤可以單獨顯示。

我的視圖代碼:

如果我使用 <%= f.text_field :intersted_list, class: 'form-control', id: 'intersted' %>,被檢索的所有標籤都顯示爲一個單一的標籤。

如果我使用:

<ul id="intersted"> <% resource.intersted_list.each do |tag| %> <li><%= tag %></li> <% end %> </ul>

所有標籤2單獨顯示。但是,那麼我無法添加或更新它們,因爲它們不再是表單的一部分。

Javascript代碼:

$("#intersted").tagit(); 

所有指針可以理解的。在提前 謝謝..

+0

你能提供您所使用的初始化標籤,它的Javascript代碼? – Max

+0

@Max,謝謝你的迴應。我已經用javascript代碼更新了這個問題。 –

回答

0

我懷疑還有別的東西與你的代碼怎麼回事,因爲我相信你應該有工作。

標籤,它有幾個不同的方法可以建立小部件。您可以在https://aehlke.github.io/tag-it/examples.html的HTML源代碼中看到其中的一些內容。請注意,該頁面不幸需要通過非HTTPS鏈接使用jQuery,因此您可能必須禁用瀏覽器的防護措施,以防止在HTTPS頁面中包含HTTP資產。

與單個輸入的最快方式是具有該字段的值是逗號分隔的列表,如<input name="tags" id="singleFieldTags2" value="Apple, Orange">,然後只啓動插件不帶任何選項:$('#singleFieldTags2').tagit();這是「單輸入字段(2) 「示例頁面上的」選項「。如果您沒有使用此選項正確顯示標籤,那聽起來您的ERB不會生成正確的HTML(儘管看起來應該如此)。您可能想要確認您可以使用靜態HTML在頁面上正確使用標記,並且您可以使用Ruby/ERB使用逗號分隔的關鍵字生成適當的文本字段(不使用標記 - 它) 在另一。

你的第二個方法應該也可以,但你必須確保它包括一個<form>元素中;標記 - 它會爲您生成<input>,但它們需要以表單提交。

0

好了,我沒能找到一個系統性的問題的答案。但是在@ Max的回答的幫助下,我剛剛解決了這個問題。

我剛纔的附加值屬性的標籤。即

<%= f.text_field :intersted_list, class: 'form-control', id: 'intersted', value: resource.intersted_list.to_s.gsub!(' ',',') %> 

即使它是多餘的傳遞值標籤,它解決了我的問題..

相關問題