我关注了这个截屏视频:http://railscasts.com/episodes/258-token-fields?view=asciicast
作为其中一个步骤,我按照建议添加了prepopulate选项,并使编辑表单运行良好。这是javascript,用coffeescript编写,因为我使用的是Rails 3.1:
$("#location_token_field").tokenInput "/person/locations.json", {
crossDomain: false,
prePopulate: $(this).data("pre"),
theme: "facebook",
preventDuplicates: true
}
除了现在,在#new动作中,令牌输入字段始终以“null”开头,这一切都很好。
以下是相关表单部分:
<div id="location_area">
<%= link_to image_tag("location_icon2.png", :size=>"35x35"), "javascript:void(0)", id: "location_icon", class: "blank_button" %>
<div id="location_field">
<%= f.text_field :location_tokens, id: "location_token_field", placeholder: "Where?",
"data-pre" => memory.locations.map(&:attributes).to_json %>
</div>
</div>
为什么会发生这种情况/如何解决这个问题?我想继续预先填写,以便适当填充编辑表格。
答案 0 :(得分:1)
只是从你的JavaScript开始,看起来你错过了一些括号:
尝试:
$("#location_token_field").tokenInput("/person/locations.json", {
crossDomain: false,
prePopulate: $(this).data("pre"),
theme: "facebook",
preventDuplicates: true
});
看看是否有帮助。