2010-02-20 45 views
0

我通過了auto_complete插件的railscast(這裏是:http://railscasts.com/episodes/102-auto-complete-association),並且讓它工作,即使我有一個稍微不同的設置。auto_complete插件,它可以提交一個ID而不是名稱?

但這裏的麻煩:在railscast中,例子是:belongs_to關聯,並且我有一個has_many:through。我正在使用一個collection_select從一個下拉列表中選擇要選擇的成分列表,但如果我可以使用自動填充,它會更好。麻煩的是,來自collection_select的字段返回一個ingredient_id,這也是我需要的auto_complete行爲。有沒有辦法使這個工作與auto_complete插件?

我不斷尋找鏈接自動完成的Scriptaculous的演示,但現在不見了:(

前,用collection_select:現在

<%= f.collection_select :ingredient_id, Ingredient.all, :id, :name, :prompt => "Select an Ingredient"%> 

,與auto_complete半工作:

<%= text_field_with_auto_complete :ingredient, :ingredient_name, {:size => 15}, {:url => formatted_ingredients_path(:js), :method => :get, :with => "'search=' + element.value"} %> 

配方模型:

has_many :ingredient_amounts 
    has_many :ingredients, :through => :ingredient_amounts 

def ingredient_name 

end 

def ingredient_name=(name) 
    self.ingredient = Ingredient.find_by_name(name) unless name.blank? 
end 

回答

相關問題