device.rbсила уникальных полей при сохранении встроенные документы
class Device
include Mongoid::Document
field :devui, type: String
field :name, type: String
belongs_to :user
embeds_many :responses
end
некоторые данные, я принесу с внешнего сервера, который дает мне JSON с поля ид в нем. Который когда я пытаюсь вставить в ответ, поле id повторяется, а mongo принимает _id так же, как id, который приходит с json-массивом для некоторых данных.
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 * i.e.' validates_uniqueness_of: whatever_name_you_chose_for_id_field' –