0
device.rb力のユニークなフィールド
class Device
include Mongoid::Document
field :devui, type: String
field :name, type: String
belongs_to :user
embeds_many :responses
end
いくつかのデータを埋め込まれた文書を節約しながら、私はそれにidフィールドで私にJSONを与える外部サーバーから取得します。私が応答で挿入しようとすると、idフィールドが繰り返し取得され、mongoは_idをいくつかのデータ用にjson配列と一緒に来るIDと同じにする。
devices_controller.rb
def fetch
@device_data = "some data"
@responses = @device.responses.new(@device_data)
@device.save
redirect_to @device
end
responses.rb
class Response
include Mongoid::Document
field :dataFrame, type: String
embedded_in :device
end
回答ありがとうございます。 埋め込みドキュメントでユニークなインデックスを作成できますか? @device_data [:id]を一意に保ちたいのです。どうやってするか? – ashusvirus
私には分かりません。しかし、あなたは 'Response'クラスにバリデーションを追加して* id *の重複したエントリを防ぐことができます。すなわち、' validates_uniqueness_of:whatever_name_you_chose_for_id_field' –