javascript - 使用正则表达式以逗号分隔的 Rails 自动完成标签

标签 javascript ruby-on-rails regex autocomplete tags

我正在使用旧的 auto_complete plugin结合acts as taggable on gem 试图基本上复制 Stack Overflow 本身的标记行为!我或多或少正在做这个 rails cast 中描述的事情.对于单个标签,这很有效。但是,我真的很想做到这一点,以便每次用户输入空格或逗号(很像在 Stack Overflow 上)时,自动完成都会重新开始。我想象有一些方法可以通过正则表达式来做到这一点,但我不确定如何将这种行为应用到 text_field (我想象使用 JavaScript 来“重启”自动完成,但不可否认我相当虚弱当涉及到 JavaScript 时。这就是我的观点:

<%= text_field_with_auto_complete :business, :tags, {}, { :url => formatted_businesses_path(:js), :method => :get, :with => "'search=' + element.value" } %>

我的 Controller 非常简单,只需保存特定业务的标签。

如果有人能指出正确的方向(因为我不确定如何去做),我将不胜感激。

最佳答案

我知道这是旧的,但为了重现这种行为,我使用了 rails3-jquery-autocompleteacts-as-taggable-on .他们一起工作得很好,很轻松。

// Model
class Foo < ActiveRecord::Base
  acts_as_taggable_on :tags
end

// Controller
class FoosController < ApplicationController
  autocomplete :tag, :name, :class_name => 'ActsAsTaggableOn::Tag'
  ...
end

// Routes
resources :foos do
  collection do
    get :autocomplete_tag_name
  end
end

//View
<% form_for :foo do |form| %>
  <%= form.label :tag_list, "Tags" %>
  <%= form.autocomplete_field :tag_list, autocomplete_tag_name_foos_path, :"data-delimiter" => ', ' %>
<% end %>

希望对某人有所帮助。

关于javascript - 使用正则表达式以逗号分隔的 Rails 自动完成标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4486745/

相关文章:

使用正则表达式 c 检查 url

java - 正则表达式匹配但在 Java 上不起作用

Java正则表达式奇怪的东西

javascript - 如何有效地检查数组中的任何子字符串是否包含在另一个字符串中

javascript - 停止 .toFixed 舍入数字

javascript - 为动态对象定义编写更清晰的代码

ruby-on-rails - Rails 国家精选 gem

javascript - 在 IndexedDB 中使用有序列表

mysql - 使用 ActiveRecord 连接到外部 MySQL 服务器以获取 heroku 上的旧数据

javascript - Angular 语法错误 : Unexpected token }