2012-01-02 5 views
0

現在、Rails 3アプリケーションのロギング機能を構築しようとしています。ログエントリは、データベースに格納され、ログに記録されたオブジェクトへのリンクを提供する必要があります。異なるクラスのオブジェクトはログ可能でなければなりません(例えば、チケット、インタラクションなど)。Rails 3で不明な型のオブジェクトへの対応

これらの異なるオブジェクトのビューへのリンクを保存するにはどうすればよいですか?私たちは協会について考えていましたが、静的にタイプされています。

任意のオブジェクトに関連付けを保存することはできますか?

答えて

1

polymorphic associationsを使用してください。はい、私はそれを読んでいた

<%= link_to @log.logable.to_label, @log.logable %> 
+0

が、私は一度に解決策として、それを認識していなかった。それが関連のオブジェクトのshowパスにリンクして、ログを持つ

class Log < ActiveRecord::Base belongs_to :logable, :polymorphic => true end class Ticket < ActiveRecord::Base has_many :logs, :as => :logable def to_label; name; end end class Interaction < ActiveRecord::Base has_many :logs, :as => :logable def to_label; title; end end 

を行います。 ありがとう! – jzwiener

関連する問題