【问题标题】:How to do HABTM management with auto completion in Rails?如何在 Rails 中使用自动完成功能进行 HABTM 管理?
【发布时间】:2009-10-02 17:42:24
【问题描述】:

我正在寻找一个很好的解决方案来解决在 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.pngalt 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 的经验不是很丰富,也不知道如何自己实现这样的逻辑。

感谢任何帮助!

【问题讨论】:

  • 这是一个好主意,应该不难做到,尽管它需要 JavaScript 知识。这实际上更像是一个 JavaScript 问题而不是 Rails 问题。

标签: ruby-on-rails autocomplete associations


【解决方案1】:

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

【讨论】:

  • 您知道如何在第三级使用nested_attributes 获得在编辑表单中显示的标记吗?在创建它时效果很好,但是在加载编辑表单时,我找不到在嵌套表单中显示该关系的已保存标记的方法。谢谢。
【解决方案2】:

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

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

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

如果有人可以为 Ruby on Rails 重新制作它,那就太酷了。 :) 如果你有现成的解决方案,请放代码!

【讨论】:

    【解决方案3】:

    也许 model_auto_completer 会有所帮助。

    http://agilewebdevelopment.com/plugins/model_auto_completer

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 2014-04-20
      • 1970-01-01
      • 2011-03-12
      • 2016-10-07
      • 2022-08-15
      • 2013-05-01
      • 2015-06-20
      • 1970-01-01
      相关资源
      最近更新 更多