我試圖使用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