2012-02-15 9 views
0

この質問は約acts_as_taggable_onですが、一般的なタグ付けにも当てはまると思います。タグを創造的に使用する

タグを使用して、ユーザーの操作に関する詳細(例:相互作用の履歴)を保存することは適切ですか?

たとえば、ユーザーがデモパネルを最後に閉じたかったので、これをhome_demo_closedというタグとして保存し、次のページの読み込み時に簡単に検索することができます。

代わりに、保存する新しい対話のポイントがあるたびに、データベースに列を追加する方法があります。これは、私にとって過酷なものに思えます - 実装するにはたくさんの作業が必要ですが、フロントエンドの設計がどれだけ急速に変わるかを考えれば、あまりにも「固定」です。

これを進める最良の方法は何だと思いますか?これは私が検討していないような「クリエイティブな」目的のためにタグを使用するという設計上の欠陥ですか?

答えて

1

哲学的には、ここで使用する「タグ」が間違っているように見えます。タグは、1つ以上の検索可能または分類可能な用語でデータオブジェクトのインデックスを作成する方法です。つまり、基礎となる技術(一方のデータオブジェクトと他方のデータオブジェクトとの多対多の関係)は完全に実行可能なアプローチです。私はおそらくコードの可読性の視点から新鮮なテーブルpreferencesと結合テーブルuser_preference_settingsを作成するでしょう。

これは気圧計を使って建物の高さをどのように学ぶのかという質問を受けた物理学者の学生の古いジョークのようなものです。彼が与えた答えは、「建物の上から気圧計を落とし、地面にぶつかるのにどれくらい時間がかかるか」でした。賢明で効果的ですが、確かに誰かが見つけると思われる答えではありません。 :)

関連する問題