@rubyschool

Страница 688 из 921
?
23.05.2018
20:26:24
10_000 если подключить карту
да нет, я регался 10к бесплатно без подключения карты

Dmitry
23.05.2018
20:27:22
да нет, я регался 10к бесплатно без подключения карты
Ну,ну, вот сюрприз будет когда узнаешь что у не проверенных-новых доменов лимит 100писем в час ?

?
23.05.2018
20:28:16
Ну,ну, вот сюрприз будет когда узнаешь что у не проверенных-новых доменов лимит 100писем в час ?
пока, я думаю этого хватит. а вообще хочу самописную штуку сделать.

но чет не очень получается:)

Google
Dmitry
23.05.2018
20:28:52
SMTP сервер свой поднять?

?
23.05.2018
20:29:43
Как я понял не обязательно поднимать, для использования mailer'a

Хотя кто то говорит про postfix

Dmitry
23.05.2018
20:31:07
?
23.05.2018
20:32:09
А зачем писать то что уже написано?
Мне нужно просто выслать содержимое формы на определеную почту. я немного не понимаю эти извращения с плагинами

Dmitry
23.05.2018
20:35:25
Извращения? Плагины это я так понимаю гемы. Что бы понять надо читать документацию к ним, у нормальных гемов нормальная дока, а если ты её не понимаешь, то тогда надо подтянуть базу по рубям.

?
23.05.2018
20:39:00
Нет, просто зачастую необходимо выполнить чересчур много действий для простого действия. и мне проще это ручками написать, нежели ставить тот же меилган, который надо -настроить. -подождать 24-48 часов -и только тогда использовать. + возможно, инструмент может обладать излишним функционалом. А так, я же прям совсем зеленый джун:) и только тыкаюсь в эти рельсы

А так, магии рельс предостаточно хватает даже в банальном приложении. ну на мой взгляд. Хотя подход "бац-бац и готово и работает" мне нравится.

Egor
23.05.2018
20:42:13
Кстати, не поможет ли вот это? http://guides.rubyonrails.org/action_mailer_basics.html

http://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration — вот тут прописать, скажем, gmail в качестве SMTP-сервера (зарегав там ящик) и вперёд

?
23.05.2018
20:42:57
Читал. основу оттуда и вытащил

Но мне получать надо, а не отправлять)

Egor
23.05.2018
20:43:37
А, то есть приложению надо как-то реагировать на входящую почту?

Google
?
23.05.2018
20:43:50
нет конечно.

если не считать, сказать "спасибо за хххх"

Egor
23.05.2018
20:45:01
Но мне получать надо, а не отправлять)
Тогда я не понял, к чему вот это сообщение. Казалось бы, mailer в сочетании с SMTP-сервером от gmail настраивается по инструкции, и прекрасно позволяет отправлять почту при заполнении форму (видимо, в контроллере формы вызвать мейлер, и всё должно заработать)

?
23.05.2018
20:46:51
Видимо я немного не так понял ответ на свой первый вопрос.

Egor
23.05.2018
20:58:35
Надо настроить на сервере, через что ему отправлять почту (сказать параметры SMTP-сервера)

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

?
23.05.2018
20:59:57
config/environment/development.rb? и в самый низ конфиги, правильно? попробовал. и как то вьюшка ломается..

Egor
23.05.2018
21:00:39
Похоже на правду

Что значит "вьюшка ломается"?

Рaukoff
23.05.2018
21:01:13
Вот нафига портянки кидать

Egor
23.05.2018
21:02:02
Будет удобнее, если большие куски кода будут загружены либо на pastebin.com , либо на gist.github.com

Однострочники в целом пофиг

?
23.05.2018
21:02:59
простите. сейчас все уберу



Egor
23.05.2018
21:05:38
Выглядит как проблемы с JS на стороне браузера, вообще никак с отправкой почты не связано. Можно открыть консоль разработчика по F12 (вроде) и посмотреть, какие есть ошибки в консоли.

Либо можно забить, проверить, что _корректный_ ajax-запрос успешно прилетает на сервер, разобраться сначала с ним, а потом уже с тем, как страница это показывает

?
23.05.2018
21:07:10
`Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.` В консольке вроде все отправляется. В почтовом ящике пусто

Egor
23.05.2018
21:08:42
В консольке какой? Сервера или браузера?

?
23.05.2018
21:09:32
Started POST "/query" for ::1 at 2018-05-24 00:04:06 +0300 Processing by CatalogController#index as */* Parameters: {"name"=>"qwe", "email"=>"qwe@qwe.ru", "text"=>"qwe", "info"=>""} Expert Load (8.8ms) SELECT "experts".* FROM "experts" ORDER BY "experts"."name" ASC Rendered catalog/index.html.erb within layouts/application (119.0ms) Completed 200 OK in 608ms (Views: 598.9ms | ActiveRecord: 8.8ms)

Egor
23.05.2018
21:09:39
Окей

Google
?
23.05.2018
21:09:51
рельсовой

Egor
23.05.2018
21:10:08
Если для отправки используется метод .deliver, то можно его заменить на .deliver_now!, чтобы получить exception в консоль, если что-то идёт не так

Это из одного из ответов отсюда: https://stackoverflow.com/questions/9522205

?
23.05.2018
21:17:20
неа.. параметры так же уходят, а письмо не формируется

Egor
23.05.2018
21:18:10
То есть от замены deliver на deliver_now ничего не меняется?

?
23.05.2018
21:18:40
Неа

Egor
23.05.2018
21:19:29
Можно попробовать посмотрел в некий development.log (если это ещё существует) или вытрясти из RoR побольше информации: https://stackoverflow.com/a/4532614/767632

?
23.05.2018
21:24:45
Абсолютно то же самое

Egor
23.05.2018
21:29:29
Окей. Покажите тогда, пожалуйста, полный код мейлера и метода, который вызывает этот мейлер

(pastebin.com / gist.github.com)

Vlad
23.05.2018
21:30:10
Какой именно мейлер?

Egor
23.05.2018
21:32:06
Который вызывается для отправки письма в контроллере формы

?
23.05.2018
21:33:19
https://pastebin.com/5dqxstaD

Dima
23.05.2018
21:34:32
Letter opener. На стадии разработки используй его. После можно настраивать реальный майл сервер зная что твой майлер отправляет все как нужно

?
23.05.2018
21:37:01
Cтавлю уже

Dima
23.05.2018
21:38:09
Ага. Его. И из консольки запустил майлер. Если все правильно то выйдет в браузере типаписьмо

?
23.05.2018
21:39:43
Из консоли?

Dima
23.05.2018
21:39:56
NotificationMailer.notify('name', 'title', 'test@email.com', 'question').deliver_now

Да. При правильных настройках выйдет в браузере письмо

Google
Dima
23.05.2018
21:41:30
Проверь если в development.rb указал delivery method: letter_opener

В ридми гема эта настройка указана

?
23.05.2018
21:44:03
Да, все показывает. но без параметров..

вернее вместо них просто переменные

Dima
23.05.2018
21:45:28
Ну тогда один этап прошли

Майлер точно рабочий

?
23.05.2018
21:46:02
Я вас не напрягаю? ночь уже наверно у вас тоже..

Dima
23.05.2018
21:46:44
Ну пока отвечают - значит нет )

?
23.05.2018
21:47:02
оки:)

Dima
23.05.2018
21:47:15
Я выше пропустил

?
23.05.2018
21:47:32
У меня есть подозрение, что функция в контроллере не забирает параметры

Dima
23.05.2018
21:47:50
Через что ты пытаешься отправить емэйл? Через gmail ?

Ааа

Еще для дебага есть гем pry

?
23.05.2018
21:49:04
binding.pry

Dima
23.05.2018
21:49:44
Поставь его и перед строкой отправки емэйл в контроллере напиши binding.pry. Проверь все ли параметры домтупны

?
23.05.2018
21:52:23
Не вызывается дебагер

Dima
23.05.2018
21:54:12
А puts params что-то показывает?

?
23.05.2018
21:54:35
Ничего. потому и подозрения появились

то есть функция просто не вызывается

Google
Dima
23.05.2018
21:55:09
Покажи роуты и форму

?
23.05.2018
21:55:20
а тьфу

все в порядке? я не внимателен.. мы же так и написали в консоли

Dima
23.05.2018
21:56:05
Работает?

?
23.05.2018
21:56:46
вернее вместо них просто переменные
Через консоль все в порядке. корректно отрабатывает.

насчет параметров

Dima
23.05.2018
21:58:22
В консоли ты вызываешь майлер на прямую указывая явно параметры в ручную. Контроллер в консоли не затрагивается

?
23.05.2018
21:58:48
https://paste2.org/jp5P2JgO

Да, мне просто показалось что не так передаются они:)

Dima
23.05.2018
21:59:52
Да. Все не так )

В форме не указан путь. А в роутах не указан твой метод контроллера

Добавь в роуты post 'notify' , to: 'catalogue#send_notifications'

Добавь в роуты post 'notify' , to: 'catalogue#send_notifications'
Правильно только имя контроллера catalog

Это первое. Второе. Используй form_for он сразу вставит csrf token

?
23.05.2018
22:12:19
Странно. форма отдала internal server error, страничка с письмом открылась, в консоли рельс ошибка. с потерей темплейта. сейчас найду

Dima
23.05.2018
22:15:25
В общем суть в том что твой метод отправки notification не прописан в контроллере. После чего ты создашь роут для этого метода на него нужно правильно обратиться из формы прописав в форме правильный путь к методу контроллера

Не прописан в роутах

С телефона пишу и косячу )

?
23.05.2018
22:18:21
в роутах прописали же.(исправили) и в форме дописали action="/notify"

Вьюху потерял, которой нет

Dima
23.05.2018
22:19:52
Ну так. У тебя не указан ы методе send_notifications что делать после отправки емэйла

Страница 688 из 921