javascript - Rails 选择建议和远程数据

标签 javascript jquery ruby-on-rails ruby-on-rails-4

例如,我有项目和类别模型:

# project.rb
has_and_belongs_to_many :categories

# category.rb
has_and_belongs_to_many :projects

在前端我需要:

  • 显示项目类别名称的输入
  • 按名称建议/自动完成类别(如果存在)
  • 如果它不存在,我需要 动态创建它并将名称粘贴到输入和保存 ID 中,然后 当用户提交表单时将 ID 发送到服务器。

因此,我有类别 Controller ,它有方法searchcreate。搜索以 JSON 格式返回建议类别的 ID 和 NAME 对;创建将类别保存到数据库中,并在用户将新类别提交到输入时返回 ID 和 NAME 对。 它是关于多个类别输入的。

此外,在网站的其他部分,我们可以遇到模型,它们使用的类别模型不是 has_and_belongs_to,而是 belongs_to。在那里,我需要显示具有单个 类别值的选择框,但具有与多个输入相同的逻辑。

Select2 或 selectize libs 涵盖了我的大部分问题,但我不知道如何将 ID 而不是名称保存到输入中,以及如何将类别名称呈现到输入中并在用户提交表单时发送 ID。

是否有任何库或技术可以解决这个问题?

最佳答案

我推荐观看 Ryan Bates 的精彩 RailsCasts episode对此。他演示了您描述的 find_or_create 类型的功能,但使用的是 jQuery Tokeninput 库。

如果您致力于使用 select2,则可以在后端使用与 Ryan 类似的方法,同时使用 Tagging support在 select2 中。

关于javascript - Rails 选择建议和远程数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30187117/

相关文章:

javascript - 如何使用 Valums Ajax File-Uploader 触发上传文件?

javascript - 在jquery中获取实际点击的按钮属性

Jquery ui 选项卡随着大量数据而变慢

jquery - 防止 colorbox 实例关闭

javascript - Javascript 函数中的递归结束得太快

javascript - 无法弄清楚为什么 undefined 出现在两个期望的结果之间

html - Rails simple_form label_html

ruby-on-rails - 如何创建路径底部带有点的 Rails 路径?

jquery - 删除除所有元素之外的无格式文本?

ruby-on-rails - Rails table_name_prefix 缺失