Rails значения tokenInput не перезагружаются

Я реализовал поле ввода токена в своем приложении Rails 3. Вот соответствующий код:

моя форма

<%= label_tag :tag_tokens, 'Tags' %>
<%= text_field_tag 'tag_tokens', "data-pre" => params[:tag_tokens] %>

 $(function() {
    $("#tag_tokens").tokenInput("/data/tags.json", {
      crossDomain: false,
      prePopulate: $("#tag_tokens").data("pre"),
      theme: "facebook"
    });

Это страница поиска, которая возвращает результаты. Ввод токена вместе с возвращаемыми значениями работает замечательно. У меня проблема с получением значений, которые остаются / загружаются в текстовое поле после отправки страницы. "data-pre" => params[:tag_tokens] код в text_field_tag ​​должен справиться с этим, но не работает! Любая помощь приветствуется.

1 ответ

Решение

Я обнаружил, что моя проблема была, я использую text_field_tag (не text_field) там мне нужно было передать data-pre в качестве 3-го параметра (не 2-го). Вот весь мой код для потомков.

Посмотреть

<%= label_tag :tag_tokens, 'Tags' %>
<%= text_field_tag 'tag_tokens', nil, "data-pre" => @tag_token_names.to_json %>

JS

$(function() {
    $("#tag_tokens").tokenInput("/data/tags.json", {
      crossDomain: false,
      prePopulate: $("#tag_tokens").data("pre"),
      theme: "facebook"
    });
});
</script>

маршруты

match "/tags" => "data#tags", :as => 'tag_token_search'

контроллер

def tags
    @tags = Tag.where("name like ?", "%#{params[:q]}%")
    respond_to do |format|
      format.html
      format.json { render :json => @tags.map(&:attributes) }
    end
  end
Другие вопросы по тегам