我试图使用https://github.com/peterwillcn/rails4-autocompleterails4-autocomplete。在自动填充字段中获取关联名称
添加自动完成字段我有一个属于城市的主题模型。城市属于国家。即城市=伦敦。那么city.country.name =英格兰。
我可以让我的自动完成与
#controller
class TripsController < ApplicationController
autocomplete :city, :name
#view
<%= f.autocomplete_field :city_id, autocomplete_city_name_trips_path %>
显示城市的名字,但我希望国家名称的自动完成秀场了。即伦敦,英国。不只是伦敦。
有没有更好的方法来做到这一点?
编辑:这也传递城市名称到控制器,我想它通过city_id
谢谢,我会添加一列到我的城市模型。我如何在自动完成中显示名称,但将ID发送到控制器? – 2014-09-29 13:58:32
您想将ID发送给控制器,以便您可以从数据库中获取正确的对象,对吗?想到的一个想法是用ID填充隐藏字段。我最近使用的自动完成功能是在我的控制器中使用了Model.find_or_create_by(field1:value_from_form,field2:value_from_form)。在我的情况下,我想创建一个对象,如果它不存在的话,但如果它确实存在的话找到它。 – 2014-09-29 14:03:56
在向城市模型添加列之前,只需尝试从父模型中获取国家/地区。 'autocomplete:city,:name,extra_data:[:country]'。除非你知道上面的代码块不起作用,否则我不会去添加新的列。 – 2014-09-29 14:05:41