如何在Rails中自动完成HABTM管理?

时间:2009-10-02 17:42:25

标签: ruby-on-rails autocomplete associations

我正在寻找一个很好的解决方案来解决在Rails中管理具有HABTM关联的模型的典型问题。

我们假设我们有两个模型 - 产品和类别:

Products
  has_many :categorizations
  has_many :categories, :through => :categorizations
Categories
  has_many :categorizations
  has_many :products, :through => :categorizations
Categorization
  belongs_to :product
  belongs_to :category

Pat Shaughnessy正在开发modified auto_complete plugin,可以管理一对多(和多对多)关联:

alt text http://img28.imageshack.us/img28/9141/samplef.th.png alt text http://img406.imageshack.us/img406/4075/sampleautocomplete.th.png

对于那些足够的人,但我并不喜欢这么多文本字段。我想有可能以稍微不同的方式组合Pat使用的Ryan Bates' screencasts,即使用一个文本字段和自动完成:

alt text http://img405.imageshack.us/img405/9576/betterautocomplete.th.png

从建议任务列表(一对多)或产品类别(多对多)中删除会更好 加入

在产品类别关系的情况下,此类自动完成将以产品形式和类别形式使用。

我希望有一个现有的插件。我在Ruby方面不是很有经验,也不知道如何自己实现这样的逻辑。

感谢任何帮助!

3 个答案:

答案 0 :(得分:2)

使用jQuery Tokeninput插件可以很好地解决问题,如Ryan Bates所示:http://railscasts.com/episodes/258-token-fields

答案 1 :(得分:0)

我也需要类似的。但到目前为止,我发现了两个jQuery插件。

  1. “Tagger” chrisiufer.com/tagger,但没有自动完成功能。

  2. 和“自动完成的高级用法” http://education.llnl.gov/jquery/adv_auto.lasso

  3. 如果有人可以为Ruby on Rails重制它,那将会很酷。 :)如果您有一个现成的解决方案,请输入代码!

答案 2 :(得分:0)

也许model_auto_completer会有所帮助。

http://agilewebdevelopment.com/plugins/model_auto_completer