Rails tokenInput 值未重新加载

Rails tokenInput values not reloading

我在我的 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"
    });

这是 returns 结果的搜索页面。令牌输入以及返回的值非常有效。我遇到的问题是在提交页面后将文本框中的值设置为 remain/load。 text_field_tag 中的 "data-pre" => params[:tag_tokens] 代码应该可以解决这个问题,但没有用!任何帮助表示赞赏。

我发现我的问题是我在那里使用 text_field_tag(而不是 text_field),因为我需要将 data-pre 作为第三个参数(而不是第二个)传递。这是我为后代编写的所有代码。

查看

<%= 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