1

問題を追跡するための助けを期待しています。ここからgemrails3-jquery-autocompleteをインストールしました

と宝石「タグ付け可能として機能」ここから

これが私の歴史です:

私のモデルは

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

私の_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>

レンダリングとオートコンプリートを一緒に使用すると、オートコンプリートが機能しなくなりますか?

4

1 に答える 1

3

最後に、同じ状況の人を助けることができる私の問題の解決策は簡単です。ファイル jquery-ui-1.8.19.custom.css をjQuery UI-Autocompleteのダウンロード テーマから、public/stylesheets/ui-lightnessまたは依存関係からコピーします。public/stylesheets/smoothness

public/stylesheets/ に貼り付けると、ルーティングエラーが自動的に消え、オートコンプリートが機能するようになります。

ここからの指示に従っていました

css フォルダーのファイルをアプリの public/stylesheets フォルダーにコピーします。これらのファイルは、「ui-lightness」という名前のフォルダーで、css フォルダーから 1 レベル下にある可能性があることに注意してください。

しかし、正しい位置は public/stylesheets ディレクトリにあります。また、mycontroller から次のコードを削除する:class_name => 'ActAsTaggableOn::Tag'と、コードは次のようになります

class ArticlesController < ApplicationController
          autocomplete :tag, :name
于 2012-05-03T17:31:11.923 に答える