0

我关注了这个截屏视频:http ://railscasts.com/episodes/258-token-fields?view=asciicast

作为其中一个步骤,我按照建议添加了预填充选项,并使编辑表单运行良好。这是javascript,因为我使用的是Rails 3.1,所以用coffeescript编写:

  $("#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>

任何想法为什么会发生这种情况/我如何解决这个问题?我想保留预填充,以便适当地填充编辑表单。

4

1 回答 1

1

仅仅从你的 JavaScript 来看,你似乎缺少一些括号:

尝试:

 $("#location_token_field").tokenInput("/person/locations.json", {
    crossDomain: false,
    prePopulate: $(this).data("pre"),
    theme: "facebook",
    preventDuplicates: true
  });

看看是否有帮助。

于 2012-01-06T01:17:56.877 回答