반응형
Rails/MariaDB 백엔드에서 직렬화된 데이터를 업데이트하려면 어떻게 해야 합니까?
현재, 저는 몇 가지를 가지고 있습니다.QueuedImages
그것이 되는GalleryImages
일정한 조건이 충족되면
@image = GalleryImage.new(image_params.except(:tags))
@image.user = current_user
@queued = QueuedImage.new(user: current_user)
@queued.image = @image
이 방법을 저장하기 전에 영상을 JSON으로 변환합니다.
def image_to_json
self.image_data = @image.to_json(include: :plain_images)
end
직렬화된 해시/J를 업데이트하려고 합니다.이런 SON:
def update
@queued = QueuedImage.find(params[:id])
hash_as_string = @queued.image_data
i_data = JSON.parse(hash_as_string.gsub('=>', ':'))
i_data["title"] = params["title"]
i_data["description"] = params["description"]
i_data["folder_id"] = params["folder_id"]
i_data["nsfw"] = params["nsfw"]
i_data["tags"] = params["tags"]
@queued.image_data = i_data
if @queued.save
render json: @queued, scope: current_user
else
render json: @queued.errors.as_json(full_messages: true), scope: current_user, status: :unprocessable_entity
end
end
그러면 구문 분석 오류가 발생합니다. 제가 뭘 잘못했나요?
직렬화된 문자열을 올바르게 업데이트하려면 어떻게 해야 합니까?
중요한 것은 그것이 변화할 때QueuedImage
아주GalleryImage
다른 방법은 해당 데이터를 가져와서 평가하고 새로운 데이터를 생성합니다.GalleryImage
따라서 정확한 형식이어야 하며, DB에 문자열로 저장해도 업데이트 방법에서 수행하는 작업이 잘못되었다고 생각합니다.
언급URL : https://stackoverflow.com/questions/51391245/how-can-i-update-serialized-data-in-a-rails-mariadb-backend
반응형
'programing' 카테고리의 다른 글
Node.js에서 상위 디렉토리 이름 가져오기 (0) | 2023.09.04 |
---|---|
새 뷰 컨트롤러를 만든 후 뷰 컨트롤러 파일을 만들려면 어떻게 해야 합니까? (0) | 2023.09.04 |
데이터를 제출하지 않는 사용 불가능한 양식 필드 (0) | 2023.09.04 |
ID 목록에 대한 여러 개의 주변 행 포함(ID순) (0) | 2023.09.04 |
phpMyAdmin을 사용하여 기본 빈 공간이 있는 Null 값 필드에 대한 ods 파일을 가져오는 방법 (0) | 2023.09.04 |