我想知道是否有一个gem或插件,在模型中添加了“标记”功能,以及视图的自动完成助手。
我发现acts_as_taggable但我不知道如果这是我应该使用。有更新的东西吗?我从2007年的结果,当我google acts_as_taggable
解决方法
请按照以下步骤将此全部安装:
1。备份您的rails应用程序!
2。安装jquery-rails
注意:你可以安装jQuery UI与jquery-rails,但我选择不。
3。下载并安装jQuery UI
选择一个主题,将补充您的网页设计(一定要测试自动完成演示与您选择的主题,默认主题不适合我)。下载自定义zip并将[zipfile] / js / jquery-ui – #。#。#custom.min.js文件放入应用程序的/ public / javascripts /文件夹。将[zipfile] / css / custom-theme /文件夹和所有文件放置到应用程序的public / stylesheets / custom-theme /文件夹中。
4。将以下内容添加到Gemfile,然后运行“bundle install”
gem ‘acts-as-taggable-on’
gem ‘rails3-jquery-autocomplete’
5。从控制台运行以下命令:
rails generate acts_as_taggable_on:migration
rake db:migrate
rails generate autocomplete:install
在应用程式中进行这些变更
在应用程序布局中包含必要的javascript和css文件:
<%= stylesheet_link_tag "application","custom-theme/jquery-ui-1.8.9.custom" %> <%= javascript_include_tag :defaults,"jquery-ui-#.#.#.custom.min","autocomplete-rails" %>
控制器示例
编辑:根据Seth Pellegrino的评论进行更改。
class ArticlesController < Admin::BaseController #autocomplete :tag,:name <- Old autocomplete :tag,:name,:class_name => 'ActsAsTaggableOn::Tag' # <- New end
模型示例
class Article < ActiveRecord::Base acts_as_taggable_on :tags end
Route.rb
resources :articles do get :autocomplete_tag_name,:on => :collection end
查看示例
<%= form_for(@article) do |f| %> <%= f.autocomplete_field :tag_list,autocomplete_tag_name_articles_path,:"data-delimiter" => ',' %> # note tag_list above is a virtual column created by acts_as_taggable_on <% end %>
注意:此示例假设您只在整个应用程序中标记一个模型,并且您只使用默认标记类型:标记。基本上,上面的代码将搜索所有标签,而不是将其限制为“文章”标签。