9

昨日は、Rails のタグ付けプラグインを動作させるために、あらゆる時間を費やしました。インストールは簡単でしたが、これらのプラグインの使用方法に関するドキュメントの量はせいぜい陰気なものでした...

記録のために、私は試しました:

is_taggable act_as_taggable_on act_as_taggable_on_steroids act_as_taggable_redux

いずれの場合も、ドキュメントは次のようなもので構成されていました。

  1. インストール
  2. 未定義の魔法<---(ここで私は倒れました.素晴らしいプラグインを機能させるには、モデル、ビュー、およびコントローラーに何を入れればよいでしょうか?教えてください!)
  3. これらすべてのクールな機能をチェックしてください!

すべてのプラグインで、次のようなエラーに対処することになりました。

NoMethodError in ItemsController#create undefined method `tag_list=' for #<Item:0x47fe848>

それぞれのプラグインの Web サイトで提起された問題を調べたところ、これらの問題を抱えているのは私だけではないことがわかりました。しかし、これらの問題のほとんどはしばらく前に提起されていたにもかかわらず、著者のサポート/説明はすぐには提供されませんでした.

私が Rails の達人なら、おそらくプラグインを動作させることができるでしょう。でも僕はそうじゃない。欲求不満で、タグ付け用のプラグインがたくさんあることを考えると、ばかげているように見える独自のタグ付け実装を展開することにしました...

また、これらのプラグインのほとんどがしばらくの間メンテナンスされていないことを少し心配していると言わざるを得ません。これは、Rails 3 に引き継がれるかどうか疑問に思います。

実際に機能し、実装が簡単な Rails 用のタグ付けプラグインを誰かが知っている場合は、私に知らせてください (そして、もし私にまともなチュートリアルを教えてくれたら、私が見つけたいくつかの素晴らしい綿毛と、私の永遠の感謝の気持ちをあなたに伝えます)ちょうどその時私のポケットに...)

それ以外の場合は、初心者/中級の Rails プログラマーから、プラグインを作成および保守している Rails の神々への嘆願にしましょう... 「あなたの仕事は大好きですが、もっとドキュメントを提供してください!」

4

2 に答える 2

9

mbleigh の act-as-taggable-on を使用しましたが、基本的な手順は次のとおりです。

  1. config.gem "acts-as-taggable-on"environment.rbに追加
  2. 走るrake gems:install
  3. 走るscript/generate acts_as_taggable_on_migration
    • 必要に応じて移行のカスタマイズを行います (おそらく必要ないでしょう)。
  4. 移行を実行し、rake db:migrate
  5. タグ付けされたモデル (複数化)に追加acts_as_taggable_on :your_desired_tag_namesします。
    • いえ 写真のモデルには:colorsタグがあります。
    • が表示されている場合は、この手順をスキップした可能性NoMethodErrorがあります。
  6. モデルタグを設定するには、次を使用しますphoto.color_list = 'abc, 123, def, 456'
  7. モデルを保存します。photo.save
  8. タグを一覧表示します。photo.colors
    • メソッドを使用できるようにするには、データベースからモデルを再読み込みする必要photo.colorsがある場合があります。

詳しい手順や例については、 acts-as-taggable-on の readmeを確認してください。

于 2010-02-19T00:59:33.887 に答える
0

狂気の世界!

今日はacts_as_taggable_on_steroidsを機能させることもできました...

欠落しているリンクは、これを ApplicationHelper に追加する必要があるということでした:

タグヘルパーを含める

これはreadmeに記載されていましたが、「タグクラウド」セクションの下にのみ記載されていたため、最初にメソッドを認識させるために追加する必要があるかどうかは明確ではありませんでした...

于 2010-02-19T01:28:16.770 に答える