Jquery Autocomplete Gem-将参数传递到数据库
Posted
技术标签:
【中文标题】Jquery Autocomplete Gem-将参数传递到数据库【英文标题】:Jquery Autocomplete Gem- Passing params into database 【发布时间】:2011-12-26 15:05:58 【问题描述】:我是 Rails 新手,正在努力使用 Jquery Autocomplete gem。我可以让自动完成功能正常工作,但我无法将元素的 id 传递到我的数据库中。无论如何,参数显示自动完成的名称,因此数据库中的 ID 字段为 0。我在控制器中设置了如下操作:
class GroupsController < ApplicationController
autocomplete :nhood, :name
该路线似乎也可以正常工作,因为自动完成功能正常。错误出现在表格的某个地方,我尝试了很多变化,但没有任何效果。目标是将对应于自动完成的社区名称的社区 ID 传递到“计划”表中。这是表格:
<%= form_for(@plan, :url=> groups_createplan_path) do |f| %>
<div class="field">
<%= f.label :nhood_id %>
<%= f.autocomplete_field :nhood_id, autocomplete_nhood_name_groups_path,
:update_elements => :id => '#id_element', :size=>50 %>
<%= f.submit "Submit" %>
<% end %>
我从变体开始
:id_element => '#some_element', such as :id_element => '#nhood_id', or just
:id_element => '#id'
但似乎没有任何效果。我很迷茫,我想我已经密切关注 gem 文档,所以我不知道错误在哪里。
https://github.com/crowdint/rails3-jquery-autocomplete
如果有人可以提供帮助,将不胜感激。如果需要,我很乐意提供更多信息。谢谢
更新: 我还应该注意,萤火虫会显示响应,其中包括我想要的“id”: "id":"36","label":"Soulard","value":"Soulard"
因此,我的问题实际上是如何让“id”传入参数哈希,而不是“标签”?我不断让“灵魂”通过,而不是“36”。
【问题讨论】:
【参考方案1】:我在尝试将课程 ID 链接到课程时间表时遇到了类似的情况。对我有用的是在隐藏字段中传递 id。
<%= f.label "Course Number" %><br />
<%= f.autocomplete_field :course_number, autocomplete_course_name_department_timetables_path, :update_elements => :id => "#timetable_course_id"%>
<%= f.hidden_field :course_id%>
那么对你有用的可能是
<%= f.label :nhood_id %>
<%= f.autocomplete_field :nhood_name, autocomplete_nhood_name_groups_path, :update_elements => :id => '#plans_nhood_id', :size=>50 %>
<%= f.hidden_field :nhood_id %>
【讨论】:
以上是关于Jquery Autocomplete Gem-将参数传递到数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用 jQuery .autocomplete 检索项目将不起作用,也不会引发任何错误
jQuery Autocomplete 无法通过 AJAX 工作