Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery rails,解析json数组以获得自动完成功能_Jquery_Ruby On Rails_Json_Autocomplete - Fatal编程技术网

Jquery rails,解析json数组以获得自动完成功能

Jquery rails,解析json数组以获得自动完成功能,jquery,ruby-on-rails,json,autocomplete,Jquery,Ruby On Rails,Json,Autocomplete,我想知道在这种情况下是否有办法解析json数组。我在做一个标签文本字段的自动完成,非常类似于stack overflow的标签文本字段。我想要一个与特定标签相关联的计数 在我的观点中,我有一个 <div class="tags"> <%= f.label :tag_name, "Tags" %> <%= f.text_field :tag_name, data: { autocomplete_source: tags_path} %> <

我想知道在这种情况下是否有办法解析json数组。我在做一个标签文本字段的自动完成,非常类似于stack overflow的标签文本字段。我想要一个与特定标签相关联的计数

在我的观点中,我有一个

<div class="tags">
    <%= f.label :tag_name, "Tags" %>
    <%= f.text_field :tag_name, data: { autocomplete_source: tags_path} %>
</div>
在我的标签控制器里我有

def index
    @tags = Tag.order(:name).where("name like ?", "%#{params[:term]}%")
    render json: @tags.map{|tag| "#{tag.name} x #{tag.count}"}
end
代码运行正常,我可以使用ajax从标记表中检索标记(及其计数)

然而,我也有这段代码,它在我的文章模型文件中

def tag_name=(name)
    self.tag = Tag.find_or_create_by_name(name) if name.present?
end
如果标签不存在,它允许用户创建标签。但我遇到的问题是。。。标记现在标记为“javax1”,如果用户选择该标记,那么数据库现在包含“javax1”作为自己的标记,而不仅仅是“Java”

有没有一种单独的方法来解析json数组,或者让jquery单独处理名称和计数

很抱歉,我对所有这些json和jquery还是很陌生的。我在跟踪一个铁路骗子。
非常感谢您的帮助=)

您的自动完成操作必须呈现如下内容

render json: @tags.map{ |tag| {:label => "#{tag.name} x #{tag.count}", :value => tag.name} }

哇,我不知道你能做到。非常感谢!我会记住的
render json: @tags.map{ |tag| {:label => "#{tag.name} x #{tag.count}", :value => tag.name} }