2016-07-23 3 views
0

私はthis宝石を使って自動完成しています。 使用法セクションで述べたように、自動完成しようとしている属性のモデルのコントローラにautocomplete :classname, :method行を追加する必要があります。そう例えば、(ドキュメントから抽出された):acts_as_taggable_on gemを使用しているときのタグ名の自動補完?

モデル

class Brand < ActiveRecord::Base 
end 

create_table :brand do |t| 
    t.column :name, :string 
end 

コントローラ

class ProductsController < Admin::BaseController 
    autocomplete :brand, :name 
end 

ルート

resources :products do 
    get :autocomplete_brand_name, :on => :collection 
end 

私のタグにacts_as_taggable_onの宝石を使用しています。各タグにはnameという属性がありますが、これは自動完成しようとしています。今、私はTagsControllerのautocomplete :classname, :method行にどのようなクラス名を使用するか分かりません。クラスの名前はActsAsTaggableOn ::タグですが、私が使用している場合、私はエラーを取得すること:

TagsController

class TagsController < ApplicationController 

    autocomplete :ActsAsTaggableOn::Tag, :name 

    def index 
    @tags = ActsAsTaggableOn::Tag.all 
    end 

    def show 
    @tag = ActsAsTaggableOn::Tag.find_by(name: params[:name]) 
    @posts = Post.tagged_with(@tag.name).paginate(page: params[:page], per_page: 10).order('created_at DESC') 
    end 

end 

ルート

resources :tags, param: :name, only: [:index, :show] do 
    get :autocomplete_ActsAsTaggableOn::Tag_name, :on => :collection 
end 

エラーrake routes

TypeError: :ActsAsTaggableOn is not a class/module

私はtagtagsをクラス名として試しました。しかし、彼らはエラーを返さなかったが、彼らは単に動作しませんでした。どんな助けもありがとう!

+0

コントローラの正確なコードを投稿できますか? ':ActsAsTaggableOn'の列が異常です。 –

+0

@MarekTakac TagsControllerで投稿を更新しました。 ProductsControllerは、実際に 'autocomplete'行がどこにあるのかを示すために用意した宝石文書から抽出されたコントローラの例です。 – Arif

答えて

1

autocomplete ActsAsTaggableOn::Tag, :nameは、このトリックを行う必要があります:)。あるいは、autocomplete 'ActsAsTaggableOn::Tag', :nameを試してみてください。

定数クラス名の代わりにシンボルを使用しているという問題は、定数...

+0

'オートコンプリートActsAsTaggableOn :: Tagを使用して:name 'がコントローラ内の問題を修正したようです。しかし、**経路**で 'TypeError::autocomplete_ActsAsTaggableOn is class/module'エラーをキャッチしています。私は 'routes.rb'からの抽出を使って投稿を更新しました – Arif

+0

文字列を使ってみてください:' get 'autocomplete_acts_as_taggable_on_tag_name'、:on =>:collection'または 'get 'autocomplete_acts_as_taggable_on :: tag_name'、:on =>:collection'。 –

+0

どちらも動作しません... 2番目のものは 'ArgumentError:Missing:ルート定義のアクションキーです。あなたのルートを確認してください.'エラー – Arif

関連する問題