rails-jquery-自动完成搜索 school_name 但保存 school_id
rails-jquery-autocomplete search for school_name but save school_id
我有一个学生属于学校的应用程序。我正在尝试创建注册表单,以便他们开始输入他们学校的名称,并从我拥有的学校数据库中自动完成他们的学校。
我的 rails-jquery-autocomplete gem 运行良好,但是当用户点击提交时它似乎不会保存学校 ID。
正在发送的参数是:
{"utf8"=>"✓",
"user"=>{"first_name"=>"test",
"email"=>"test@test.com",
"password"=>"[FILTERED]",
"password_confirmation"=>"[FILTERED]",
"birthday(3i)"=>"15",
"birthday(2i)"=>"4",
"birthday(1i)"=>"1990",
"school_id"=>"Chiswick Community School",
"commit"=>"SIGN UP"}
所以你可以看到 school_id 填充的是学校名称,而不是 ID。
我的表单对象代码是:
<div class="form-object">
<%= f.autocomplete_field :school_id, autocomplete_school_name_users_path, placeholder: 'school/college' %>
</div>
我怎样才能让它向用户显示学校名称,但只保存 school_id?
我环顾四周很久了,怎么发现有人提到在 autocomplete_field 下使用 hidden_field 标签,但我已经试过了,但似乎无法让它发挥作用,所以我甚至不知道这是否是正确的方法
(我是这样试的:<%= f.hidden_field :school_id, id: 'school_id' %>
)
根据 gem docs
使用 id_element
选项将使用所选对象的 ID 更新目标字段。
<div class="form-object">
<%= f.autocomplete_field :school_name,
autocomplete_school_name_users_path,
placeholder: 'school/college',
id_element: '#school_id' # can be any jQuery selector.
%>
<%= f.hidden_field :school_id, id: 'school_id' %>
</div>
我有一个学生属于学校的应用程序。我正在尝试创建注册表单,以便他们开始输入他们学校的名称,并从我拥有的学校数据库中自动完成他们的学校。
我的 rails-jquery-autocomplete gem 运行良好,但是当用户点击提交时它似乎不会保存学校 ID。
正在发送的参数是:
{"utf8"=>"✓",
"user"=>{"first_name"=>"test",
"email"=>"test@test.com",
"password"=>"[FILTERED]",
"password_confirmation"=>"[FILTERED]",
"birthday(3i)"=>"15",
"birthday(2i)"=>"4",
"birthday(1i)"=>"1990",
"school_id"=>"Chiswick Community School",
"commit"=>"SIGN UP"}
所以你可以看到 school_id 填充的是学校名称,而不是 ID。
我的表单对象代码是:
<div class="form-object">
<%= f.autocomplete_field :school_id, autocomplete_school_name_users_path, placeholder: 'school/college' %>
</div>
我怎样才能让它向用户显示学校名称,但只保存 school_id?
我环顾四周很久了,怎么发现有人提到在 autocomplete_field 下使用 hidden_field 标签,但我已经试过了,但似乎无法让它发挥作用,所以我甚至不知道这是否是正确的方法
(我是这样试的:<%= f.hidden_field :school_id, id: 'school_id' %>
)
根据 gem docs
使用 id_element
选项将使用所选对象的 ID 更新目标字段。
<div class="form-object">
<%= f.autocomplete_field :school_name,
autocomplete_school_name_users_path,
placeholder: 'school/college',
id_element: '#school_id' # can be any jQuery selector.
%>
<%= f.hidden_field :school_id, id: 'school_id' %>
</div>