Неожиданное поле нулевого токена при использовании ввода токена jquery - как мне избавиться от него?

Я следил за этим скринкастом: http://railscasts.com/episodes/258-token-fields?view=asciicast

В качестве одного из шагов я добавил опцию предварительного заполнения, как было предложено, и форма редактирования работала хорошо. Это 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>

Любые идеи, почему это происходит/как я могу это решить? Я хотел бы сохранить предварительное заполнение, чтобы форма редактирования заполнялась соответствующим образом.


person dmonopoly    schedule 06.01.2012    source источник


Ответы (1)


Просто глядя на ваш JavaScript, похоже, что вам не хватает некоторых скобок:

Пытаться:

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

и посмотрите, поможет ли это.

person Brandon Boone    schedule 06.01.2012
comment
Спасибо за ответ, но проблема не в этом. Я попробовал это, и я все еще получаю проблему. В любом случае, я писал на CoffeeScript, который генерирует JS, эквивалентный тому, что вы написали. - person dmonopoly; 06.01.2012