2012-02-25 13 views
1

私はポストタグモデルがあります:私はgitリポジトリにinstructionsを追っrails3-jquery-autocompleteはRails 3.2.1で動作していませんか?

<div class="field"> 
    <%= f.label :tags %> 
    <%= text_field_tag :tags, params[:tags] %> 
    </div> 

class Post < ActiveRecord::Base 
    has_and_belongs_to_many :tags 

    def tag!(tags) 
    tags = tags.split(" ").map do |tag| 
     Tag.find_or_create_by_name(tag) 
    end 
    self.tags << tags 
    end 
end 

class Tag < ActiveRecord::Base 
    has_and_belongs_to_many :posts 
end 

はスキーマ:posts/_form

create_table "tags", :force => true do |t| 
    t.string "name" 
    end 

一部をの宝石:

コントローラ/ posts_controller.rb:

class PostsController < ApplicationController 
    before_filter :authenticate_user!, :except => [:show, :index] 
    autocomplete :tags, :name 

(等。)

routes.rbを:

resources :posts do 
    get :autocomplete_tags_name, :on => :collection 
end 

すべてのJavaScriptファイルがあります。

 <script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script> 
<script src="/assets/autocomplete-rails.js?body=1" type="text/javascript"></script> 

しかし、絶対に何も起こりません(私はこれをコンソール経由でタグを追加してテストしました)。

この宝石を作るにはどんな提案がありますか?

+0

解決方法をお探しですか? –

+0

オートコンプリート検索が動作しましたか?はいの場合は、コードを共有してください。私は同様のトラブルに遭遇しています。 – takaloosingh

答えて

2

は、まず、あなたの複数形を片付けることができた(私はRailsの3.2.1によ)(とにかくうまくいくかもしれないが、それは簡単に説明書を比較することが可能)/ posts_controller.rb

コントローラを:

routes.rbを

resources :posts do 
    get :autocomplete_tag_name, :on => :collection 
end 

autocomplete :tag, :name 

次に、あなたがする必要がありあなたのtext_field_tagをautocomplete_fieldに変更してください。私はあなたがRailsのフォームヘルパーのform_forを使用することをお勧め

form_for @product do |f| 
    f.autocomplete_field :brand_name, autocomplete_brand_name_products_path 
end 

:指示から

ビュー/記事/ new.html.erb(またはどこからあなたの部分を呼び出す):

form_for(:product, :url => {:action => 'create'}) do |f| # I've found that @product doesn't work on new creations and therefor I use :product 
    render(:partial => "form", :locals => {:f => f}) 
    f.submit 
end 

あなたが部分的に使用している、あなたのケースでは、このようになりますビュー/記事/ _form.html.erb

<div class="fields"> 
    f.label :name, "Tag" 
    f.autocomplete_field :tag_name, autocomplete_tag_name_products_path 
</div> 
関連する問題