169 похожих чатов

Всем привет) Очень нужна помощь полному нубасу во фронте) Используется react,

semantic-ui, rails.

Задача - удалять пользователя, что со стороны бека я успешно сделал. А вот со стороны фронта - нужно сделать компонент на реакте с модалкой с подтверждением а-ля a you sure и и все такое. Компонент должен просто подключаться в обычной вьюхе библиотеки авторизации(devise).
Собственно вопрос, как это все должно работать вместе?

Сейчас без реактовских красивостей у меня это дело делает одна-единственная строчка:
= link_to 'Cancel Account', cancel_account_path, class: 'Destructive', method: :delete, data: { confirm: "Are you sure?" }
Ее нужно заменить реактовским компонентом, базово компонент я создал, подключил, вот только как это в нем нормально сделать то?😅 Как прокидывать этот путь к контроллеру(cancel_account_path), все грамотно рендерить и т.п.
Сейчас в моей многострадальном фронте только непосредственно кнопка)
http://pastie.org/p/69SYK1q9mGqWNZZgKCzGU1
Поверхностное гугление вообще ничего не прояснило...
Помогите пожалуйста, очень прошу😭

12 ответов

12 просмотров

Если я правильно понял вопрос, вам надо прочитать доку по реакту и почитать примеры отправки запросов из реакта и о том, какие либы можно для этого использовать дополнительно.

У вас это все работает на каком-то рубишном шаблонизаторе, рендерится на сервере?

Volodymyr- Автор вопроса
Volodymyr Klimov
У вас это все работает на каком-то рубишном шаблон...

Да, это haml. Ну тут не суть, я туда просто подключаю компонент вот такой строчкой = react_component "CancelAccount", authToken: form_authenticity_token, prerender: false И все, все рендерится) Тут вопрос больше к содержимому оного😅 Сейчас пытаюсь что-то написать)

Volodymyr
Да, это haml. Ну тут не суть, я туда просто подклю...

Реакт работает на клиенте, вы не можете просто с помощью вот этой магии пробросить все в шаблон на сервере и радоваться. Из компонента взаимодействовать с сервером придется через ajax, делать http запросы и вот это вот все Если я правильно понял что вы хотите

Volodymyr- Автор вопроса
Volodymyr Klimov
Реакт работает на клиенте, вы не можете просто с ...

А вот эта либка это не оно? import { postData } from "../../lib/fetches";

Volodymyr
А вот эта либка это не оно? import { postData } fr...

Откуда я знаю что лежит в вашем проекте локально?)

Volodymyr- Автор вопроса
Volodymyr Klimov
Реакт работает на клиенте, вы не можете просто с ...

Ну смотрите, со стороны обычного вида у меня просто происходит обращение к маршруту cancel_account_path, который уже тригеррит контроллер. То есть мне нужно точно такой же запрос отправлять с реактовского компонента

Volodymyr- Автор вопроса
Volodymyr Klimov
Откуда я знаю что лежит в вашем проекте локально?)

Скорее всего некорректный вопрос, так как сам не до конца понимаю что я вижу, сорри)

Volodymyr
Ну смотрите, со стороны обычного вида у меня прост...

Да, именно так Если вы с реактом до этого не работали (или вообще с js) - это будет проблематично)

Volodymyr- Автор вопроса
Volodymyr Klimov
Да, именно так Если вы с реактом до этого не работ...

В том то и дело, потому и ною тут😅 Я джун бекэндщик. На жс только решал задачки на кодварсе. В плане реальной работы с фронтендом - опыта и понимания минимум(

Volodymyr
В том то и дело, потому и ною тут😅 Я джун бекэндщи...

если у вас страница, на которой находится клиент, генерируется на стороне сервера, то реакт вам не нужен. Сделайте просто на js, или через jquery, например, может быть удобней. Если вы хотите реакт использовать, то вам придется разделять фронт и бэк и общаться между ними через rest-api, например. А попытка засунуть кусок реакта в шаблонизатор, приведет только к боли, а результат будет такой себе.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта