auto_complete插件,是否可以提交ID而不是名称?

时间:2010-02-20 22:44:38

标签: ruby-on-rails

我浏览了auto_complete插件的railscast(这里是:http://railscasts.com/episodes/102-auto-complete-association),并且让它工作正常,即使我的设置略有不同。

但是这里有麻烦:在railscast中,示例是:belongs_to association,我有一个has_many:through。我正在使用collection_select来获取从下拉列表中选择的成分列表,但如果我可以使用自动完成功能,那将会更好。麻烦的是,来自collection_select的字段返回一个ingredient_id,这也是auto_complete所需的行为。有没有办法让这个工作与auto_complete插件一起使用?

我一直在寻找自动完成的剧本演示的链接,但它现在已经消失了:(

之前,使用collection_select:

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

现在,使用auto_complete half-working:

<%= 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

1 个答案:

答案 0 :(得分:1)

嘿,我想你可以在这里找到你想要的解决方案。我想知道如何在rails 3上实现这些功能,因为看起来自动完成助手已经消失了

无论如何看看它是否对你有帮助

http://blog.wolfman.com/articles/2006/10/23/getting-a-record-id-from-text_field_with_auto_complete