В настоящее время я пытаюсь обновить значение одного ключа, "elementOne", в хэше, который я вызываю: section_text
хеш выглядит так:
section_text => {"elementOne" => "words", "elementTwo" => "other words"}
здесьмоя модель:
class DynamicElement < ApplicationRecord
has_many :dynamic_page_elements
has_many :dynamic_pages, :through => :dynamic_page_elements
store :section_text, accessors: [ :elementOne, :elementTwo ]
end
область текста моей формы:
<%= form.text_area :elementOne, value: dynamic_element.section_text["elementOne"] %>
<div class="actions">
<%= form.submit %>
сильные параметры
def dynamic_element_params
params.require(:dynamic_element).permit(:style, :description, :section_text, :elementOne)
end
Когда я запускаю обновление (из "Подарки на день рождения !!!""to" Подарки на день рождения !!!? ") параметры показывают именно то, что я ожидаю, и когда код SQL начинает выполняться, он даже начинает заменять конкретную пару ключ-значение в вопросе.
НО, как вы можете видеть, "---! Ruby / hash: ActiveSupport :: HashWithIndifferentAccess" добавлен к ключу, который препятствует продвижению обновления, не говоря уже о том, что он не был в том формате, в котором я изначально былсобирается.
******** ТЕРМИНАЛ PIC НИЖЕ *********
Клеммный выход
Какя могу предотвратить это, чтобы сохранить новое значение как есть?Я кое-что прочитал, и из того, что я обнаружил, похоже, что rails сериализует это через сериализатор по умолчанию, YAML?
Немного потеряно на этом этапе, любая помощь очень ценится!(используя postgresql)
РЕДАКТИРОВАТЬ Я даже иду по лучшему пути здесь, чтобы выполнить это?