
?
23.05.2018
20:26:24

Dmitry
23.05.2018
20:27:22

?
23.05.2018
20:28:16
но чет не очень получается:)

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. На стадии разработки используй его. После можно настраивать реальный майл сервер зная что твой майлер отправляет все как нужно

Egor
23.05.2018
21:36:31

?
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'
Это первое. Второе. Используй 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 что делать после отправки емэйла