У меня есть веб-страница, которая создает «Активность». Используя простую форму, пользователь заполняет некоторую основную информацию о деятельности:
#new.html.erb
<%= simple_form_for @activity do |f| %>
<%= f.input :name, label: "Activity name", input_html: { id: "create_activity_name_field" }, hint: "At least 7 characters" %>
<%= f.input :type, label: "Activity type", input_html: { id: "create_activity_type_field" }, as: :select, :include_blank => false, collection: Activity.types.keys.to_a %>
<%= f.input :date_field, input_html: { id: "create_activity_date_field" }, as: :string %>
<%= f.input :time_field, input_html: { id: "create_activity_time_field" }, as: :string %>
<% f.button :submit, :class => "btn btn-primary" -%>
<% end %>
Однако я также использую MapBox для отображения карты. Пользователь будет щелкать точки на карте, чтобы проложить маршрут для занятия. Когда пользователь закончит рисовать маршрут, я могу извлечь данные GeoJSON для этого маршрута.
Я хотел бы использовать javascript для POST данных GeoJSON с данными формы. На серверной части я заставлю rails преобразовать GeoJSON в файл KML и использовать Paperclip для загрузки его в Amazon S3. Остальные данные можно сохранить, и Paperclip предоставит мне URL-адрес файла KML, который я могу связать с действием.
Я новичок в Rails, и я не могу понять, как это сделать, и не могу отследить что-нибудь, чтобы преодолеть это препятствие. Я подумал об использовании javascript FormData. Меня очень привлек этот подход, потому что реализация выглядит очень простой, но, по-видимому, она может действительно обрабатывать только пары ключ/значение, а не сложные вложенные данные JSON.
Любые предложения или стратегии с благодарностью. И очень признателен ++, если кто-нибудь может дать подробные ответы, потому что, как я уже сказал, я всего несколько недель новичок в рельсах и веб-разработке.