我使用tokeninput多個標籤自動完成插件(http://loopj.com/jquery-tokeninput/demo.html),它是在New
形式的工作就好了。jQuery的+ Rails的3 + TokenInput插件+預填充
現在我想在編輯表單中填入相同的內容;這是我遇到困難的地方。我創建了一個以json格式(id和name)返回值的文件。如果我從服務器日誌中複製這些結果並將其放入tokeninput插件的prePopulate選項,它就可以工作。
但是當我做這樣的
prePopulate: k.getJSON("tag_list_pre")
其中tag_list_pre
是返回JSON格式的選擇標籤的動作。 如果我提醒
alert(getJSON("tag_list_pre"));
返回[object Object]
,並沒有預先填充任何內容。
我認爲問題出在一些地方,當我的文件返回JSON格式的數據,並在視圖的這一邊它沒有得到所需的結果。
類似的問題問到這個問題,但還沒有回答https://stackoverflow.com/q/5892326/489018
UPDATE: 我現在用同樣的方法,在http://railscasts.com/episodes/258-token-fields?view=asciicast 我使用的數據預並獲得JSON格式ID和名稱字符串是由標記輸入所需的。由
輸出樣品是
[{"id":"5","name":"payment-processing"},{"id":"8","name":"asd"},{"id":"15","name":"java"}]
現在我的HTML文本標記看起來是這樣的。
<%= text_field_tag :project_tags, "data-pre" => @list1.to_json %>
其中list1是id和name格式的數組@@ list1的樣例輸出如下所示。
[{:id=>"5", :name=>"payment-processing"}, {:id=>"8", :name=>"asd"}, {:id=>"15", :name=>"java"}]
和新tokenInput看起來是這樣的:
k("#project_tags").tokenInput("tag_list", {
prePopulate: k("#project_tags", k(this)).data("pre"),
hintText: "Enter Tags for your Project",
noResultsText: "No Such Tags",
searchingText: "Looking for your Tags",
preventDuplicates: true,
theme: "facebook"
});
現在我的問題是,它是預先填充什麼。其他一切正常。
謝謝。如果您需要更多信息,請與我們聯繫。
價值看一看我的[回答類似的問題(http://stackoverflow.com/問題/ 8656284/example-for-using-jquery-auto-complete-plugin-with-rails/8656721#8656721),尤其是使用配方的底部如何在Rails3中使用帶有JQuery的令牌輸入 - – mliebelt 2011-12-28 15:00:11
嗨@milebelt感謝你的答覆,但我也嘗試過,我無法弄清楚爲什麼這不起作用。所以我試過這個選項。 由於該選項的作用相同。返回JSON文件。我的編輯表單非常複雜,它帶來了來自6-8個不同模型的數據。另外我不確定如何使用.map(&:attributes).to_json。如果你可以提供更多關於.map函數的細節,那將會很棒。謝謝。 – Kashyap 2011-12-29 04:37:22
@mliebelt我已經添加了您在其他問題中提到的代碼,並且在下面打印了該代碼,並且獲得了以下結果。 [{「created_at」:「2011-12-28T12:26:30 + 05:30」,「id」:10,「project_master_id」:7,「tag_master_id」:5,「updated_at」:「2011-12- 28T12:26:30 + 05:30 「},{」 created_at 「:」 2011-12-28T12:26:30 + 05:30" , 「ID」:11 「project_master_id」:7, 「tag_master_id」:8 ,「updated_at」:「2011-12-28T12:26:30 + 05:30」}] 儘管所需的json格式爲 [{「id」:「5」,「name」:「payment-processing」 },{「id」:「8」,「name」:「asd」}] – Kashyap 2011-12-29 07:35:06