1

App.net にあるような注釈のモデルを構築しようとしています: http://developers.app.net/docs/meta/annotations/。多くのモデルに注釈を簡単に追加するために、懸念事項を使用します。

これまでのところ、注釈のモデルがあります。

class Annotation
  include Mongoid::Document

  field :key, :type => String
  field :value

  embedded_in :annotatable, polymorphic: true

  # Some validations

  attr_accessible :key, :value
  attr_accessor :key, :value
end

懸念事項:

module Annotatable
  extend ActiveSupport::Concern

  included do
    embeds_many :annotations, as: :annotatable
  end

  # Somewhat helper method to add annotaion only after they are valid.
  def add_annotation( annotation )

    if !annotation.valid?
      return false
    else
      self.annotations.push annotation
      return true      
    end

  end

end

最後に、懸念事項を含めたモデルがあります。

class User
  include Mongoid::Document
  include Mongoid::Timestamps

  include Annotatable

  # Much other stuff...

end

残念ながら、注釈は保存されません:-/ 何かアイデアはありますか?

4

0 に答える 0