我是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”。
答案 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 %>