我希望能帮助我们解决问题。 我从here
安装了gem rails3-jquery-autocomplete 来自here 的和gem“act-as-taggable-on”
这是我的历史:
我的模特是
class Article <ActiveRecord::Base
acts_as_taggable_on :tags
attr_accessible :title, :body, :tag_list
我的控制器是
class ArticlesController < ApplicationController
autocomplete :tag, :name, :class_name => 'ActAsTaggableOn::Tag'
def tag_cloud
@tags ||=Article.tag_counts_on(:tags)
end
def all
@tags = Article.tag_counts_on(:tags).limit(8).order('count desc')
klass = Article
klass = klass.tagged_with(@tag) if (@tag = params[:tag]).present?
@articles = klass.where(:state => '4').paginate(:page => params[:page])
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @articles }
end
end
我的路线是
resources :articles do
collection do
get 'autocomplete_tag_name'
get 'about'
get 'all'
get 'myarticles'
delete 'destroy'
end
end
my _form.html.erb
<div class="field">
<label for="tag_list">Κατηγορία (Μπορείτε να προσθέσετε διαφορετικές κατηγορίες διαχωρίζοντάς τες με κόμμα)</label><br />
<%= f.autocomplete_field :tag_list, autocomplete_tag_name_articles_path, :"data-delimiter" => ', ' %>
</div>
我的index.html.erb
<div class='tag-box'>
<% @tags.sort_by(&:count).reverse.each do |k| %>
<% url_opts = {:action => "all", :controller => "articles"}
link_name = "#{k.name} (#{k.count})" %>
<% if @tag == k.name %>
<%= link_to link_name, url_opts.merge(:tag => nil), :class => "tag current_tag", :title => "Κλικ για εμφάνιση όλων" %>
<% else %>
<%= link_to link_name, url_opts.merge(:tag => k.name), :class => "tag", :title => "Κλικ για εμφάνιση άρθρων στην κατηγορία #{k.name}" %>
<% end %>
<% end %>
</div>
我的application.html.erb
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag :defaults %>
<%= javascript_include_tag 'jquery-1.7.2.min.js', 'jquery-ui-1.8.19.custom.min.js', 'autocomplete-rails.js', 'rails.js' %>
<%= stylesheet_link_tag 'jquery-ui-1.8.19.custom.css' %>
并持续我的Gemfile
gem 'rails', '3.0.11'
gem 'pg'
gem 'jquery-rails', '>= 1.0.12'
gem 'rails3-jquery-autocomplete'
gem 'acts-as-taggable-on', '~> 2.2.2'
应用程序中的适用于标记系统,但不支持自动完成功能。
也许我的问题在于文件_form.html.erb。我有文件new.html.erb代码
<section id="myarticles">
<h2>Νέο άρθρο</h2>
<%= render 'form' %>
</section>
是否一起渲染和自动完成并且自动完成不起作用?
答案 0 :(得分:3)
最终我的问题的解决方案可以帮助处于相同情况的人很简单。
从public/stylesheets/ui-lightness
或public/stylesheets/smoothness
复制文件jquery-ui-1.8.19.custom.css取决于jQuery UI-Autocomplete的下载主题
并粘贴到public / stylesheets /和automagicaly消失了路由错误,并自动完成功能。
我按照here
的说明操作将css文件夹中的文件复制到应用上的public / stylesheets文件夹中。请注意,这些文件可能位于css文件夹的一个级别,位于名为“ui-lightness”的文件夹中。
但正确的位置在目录public / stylesheets上。
同时从mycontroller中删除以下代码:class_name => 'ActAsTaggableOn::Tag'
,现在代码看起来像
class ArticlesController < ApplicationController
autocomplete :tag, :name