Jquery Autocomplete Gem-将params传递到数据库中

时间:2011-11-10 23:15:47

标签: jquery ruby-on-rails forms autocomplete

我是Rails的新手,我正在努力使用Jquery Autocomplete宝石。我可以让自动完成工作正常,但我无法将元素的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

如果有人可以提供帮助,我们将不胜感激。如果需要,我很乐意提供更多信息。谢谢

更新: 我还应该注意firebug显示响应,其中包括我想要的“id”:     { “ID”: “36”, “标签”: “苏拉尔”, “值”: “苏拉尔”}

因此我的问题实际上是如何让“id”传递给params哈希而不是“标签”?我不停地通过“索拉德”,而不是“36”。

1 个答案:

答案 0 :(得分:0)

我有类似的情况试图将课程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 %>