Я работал над чем-то, используя библиотеку gojs, которая позволяет создавать диаграммы, от турнирных скобок до генеалогических деревьев и т. Д.
Я использую функцию сохранения, чтобы отправить свойнабор данных для моей модели через formData ,
function save() {
var tojs = myDiagram.model.toJSON();
var json = JSON.stringify(tojs);
var formData = new FormData();
formData.append("payload", json);
var request = new XMLHttpRequest();
request.open("post", "http://localhost:3000/malesingle", true);
request.send(formData);
}
Мой контроллер как набор действий после разбора полезной нагрузки в params.def create
@tournoi = Tournoi.new(payload: JSON.parse(params[:payload]))
if @tournoi.save
redirect_to malesingle_url
Я даже использовал сериализацию, чтобы избежать проблем при передаче объекта в модель:
class Tournoi < ApplicationRecord
serialize :payload, JSON
end
моя модель настроена таким образом, чтобы принимать объект jsonв данные как 'полезная нагрузка' , благодаря postgrel на рельсах.
class CreateTournois < ActiveRecord::Migration[5.1]
def change
create_table :tournois do |t|
t.json 'payload'
t.timestamps
end
end
end
После сохранения tournoi следующее действие предполагается перенаправлением на другое представление, если @tournoi.save redirect_to malesingle_url
Объект json передается через параметры как payload , он вставляется в таблицу tournois и затем фиксируется в базе данных.я получаю TypeError (без неявного преобразования nil в String): app / controllers / tournois_controller.rb: 7: при создании после нажатия кнопки сохранения мой браузер показывает мне исключение контроллера действий с **нет неявного преобразования nil в строку ** выделение @tournoi = Tournoi.new(payload: JSON.parse(params[:payload]))
при проверке моей страницы i console на моей консоли javascript предупреждение Использование событий мутации не рекомендуется.Вместо этого используйте MutationObserver. Я пошел в Интернет, чтобы немного осмотреться, чтобы понять, почему я получаю это сообщение, все они упоминают модификацию dom, что я и пытаюсь сделать, назначив объекту json данные, о чем я не понимаюмой терминал показывает, что мой объект сохранен, но я получаю ошибку.просто не имеет никакого смысла для меня.