
Nursultan
30.05.2018
05:36:54
1
теперь я понял наших клиентов) и кто они)

Nikita
30.05.2018
05:38:03

Google

0x58
30.05.2018
05:38:26
ну сиды вообще не для заполнения прод базы но попробуй добавить RAILS_ENV=production

Nursultan
30.05.2018
05:38:42

Nikita
30.05.2018
05:38:58

Nursultan
30.05.2018
05:39:40
бля стажер оказывается написал в сидах ) if Rails.env.development? а я не заметил)

Nikita
30.05.2018
05:40:01
И правильно сделал))

0x58
30.05.2018
05:41:15
Не знаю как на хероку, на обычном сервере это было бы как rake db:seed RAILS_ENV=production

Silent Bob
30.05.2018
06:47:58
Вопрос - какое максимальное число concurrent jobs at the same time в дефолтном rails 5 асунсовом адаптере? (Active Job Async). К примеру у сайдкика можно в конфиге задать https://github.com/mperham/sidekiq/wiki/Advanced-Options concurrency опцию


Александр
30.05.2018
07:41:32
Приветствую всех, я к вам с таким кейсом:
Есть аватары, есть пользователи. Аватары загружаются отдельно(в AWS), пользователи создаются отдельно. На сайте есть форма создания пользователя, там можно выбрать аватар, заполнить информацию и нажать сохранить. Проблема в том, что если пользователь выберет аватар и нажмет кнопку "отмена"(или уйдет со страницы) у нас появится безхозный аватар. Я думал сделать так, при нажатии кнопки, создать пользователя отправить его id на фронт, и уже к нему прикреплять аватар. Но опят же в случает отмены(ухода со странциы), у нас теперь получится невалидный(ненужный) пользователь. Есть ли в рельсах механизм позволяющий как-то обойти эти кейсы?

Aleksey
30.05.2018
07:54:02
не загружать аватар на s3 до отправки всей формы - это слишком просто, да?

Александр
30.05.2018
08:02:43
Хотя вы навели меня на мысль, спасибо

Aleksey
30.05.2018
08:06:29
1) по-моему кейс высосан из пальца, аватар весит ну максимум метр, чаще в пределах 200-500кб
2) если юзер таки имеет ультрамедлнный инет и жуткий свербеж в одном месте, и таки закрыл браузер во время аплоада - ну не загрузится аватар, потом догрузит через настройки

Google

Andrey
30.05.2018
11:34:27
Всем привет!
Подскажите, чем лучше прооптимизировать картинки для pagespeed?
Картинок много — на 19 гигов.
И сколько ставить качество, чтоб не прогадать?

Смерть
30.05.2018
11:35:41
В каком они формате?

Andrey
30.05.2018
11:37:44
jpg

Смерть
30.05.2018
11:50:46
jpegoptim

Yegor
30.05.2018
12:01:50
У меня новая статья на блоге, про валидацию объектов в конструкторе (примеры на Ruby): https://www.yegor256.com/2018/05/29/object-validation.html

Pavel
30.05.2018
12:42:55
Но это ИМХО конечн

Yegor
30.05.2018
13:14:28

Lavrushchik
30.05.2018
14:01:56
Народ, подскажите.
Селениум выкидает Selenium::WebDriver::Error::UnhandledAlertError (unexpected alert open)
обычный rescue Selenium::WebDriver::Error::UnhandledAlertError не помогает. как можно подправить?

spartakusQ
30.05.2018
18:25:13
народ а подскажите актуальность книг по руби — The Ruby Programming Language Дэвид Флэнаган, Ю. Мацумото или же ruby way 3rd edition

Vasiliy
30.05.2018
18:36:31
Актуально

brute11k
30.05.2018
19:39:09
Правильно ли я получаю пользователя в devise-jwt, или есть способ попроще? Может есть какой-нибудь встроенный метод?

Nikita
30.05.2018
19:56:54
Сделай лучше наверное find_by(id: ...)
А то может беда быть

brute11k
30.05.2018
19:58:08
То есть, в целом, я более-менее грамотно написал этот метод?

ojab
30.05.2018
19:59:23
нет, JWT надо валидировать

Alexander
30.05.2018
19:59:49

brute11k
30.05.2018
20:00:54
Валидация происходит через https://github.com/waiting-for-dev/devise-jwt, хотя я не пробовал подменить пользователя

ojab
30.05.2018
20:01:52
а оно само current_user не выставляет?

Google

brute11k
30.05.2018
20:02:04
То есть у меня в контроллере стоит before_action :authenticate_user!, only: [:create]
Я долго и упорно пытался найти ответ на этот вопрос, но безуспешно. В итоге сам написал такой костыль
Ещё я хотел бы написать тест на истечение срока годности токена, вот только не знаю, сработает ли travel_to

Darth
30.05.2018
20:44:26
Почему это?
Сделай лучше наверное find_by(id: ...)
А то может беда быть

Ilya
30.05.2018
21:26:28
Почему это?
find в случае отсутсвия вернет ошибку record not found. find_by в случае отсутствия вернет nil

Darth
30.05.2018
21:27:14

Ilya
30.05.2018
21:27:34
@nikitabatrak

Nikita
30.05.2018
21:29:03
Очевидно, что это)
Может 500 быть

Ilya
30.05.2018
21:29:35
ну вот)

brute11k
30.05.2018
21:37:07
Наверное, глупый вопрос, но как прервать выполнение в application_controller и вернуть render json: ...? Я пытаюсь проверить заголовок Authorization и вернуть ошибку в виде json.
Пробовал head 401, throw :abort, return json: { ... }, status: 401,
В spec/requests/cart_spec.rb проверяю expect(response).to have_http_status(:unauthorized)
Попробую :before_action ещё.
Я понял почему у меня ничего не работает. before_action :authenticate_user! должен стоять перед всеми остальными обработчиками...
И current_user работает, и user_signed_in

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
31.05.2018
06:28:44

Google

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
31.05.2018
06:29:04
Если актуально ещё, а там уже по форматам разбирай

brute11k
31.05.2018
06:30:30
Типа respond_to :json

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
31.05.2018
06:31:06
format.js/json/http
И каждым свою логику можешь воротить

Admin
ERROR: S client not available

brute11k
31.05.2018
06:33:06

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
31.05.2018
06:33:19
Рендерит там файл destroy.js.erb
Собственно это для js

brute11k
31.05.2018
06:35:19
Собственно это для js
Я всё таки не пойму, почему я не могу просто стопнуть выполнение и отрендерить любой json вручную
Типа как в php

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
31.05.2018
06:35:51
Покажите лучше код

brute11k
31.05.2018
06:44:35
Покажите лучше код
С мобильника сложновато.
../application_controller.rb
def check_user
if current_user.nil?
return render json: { error: 'test' }
exit(1)
end
../cart_controller.rb
def show
render json: { cart: { etc: '...' } }
# появляется ошибка, мол нельзя два раза вызывать render
end

Silent Bob
31.05.2018
06:46:54
Подскажите, а все джобы взаимодействующие с AR нужно заворачивать в ActiveRecord::Base.connection_pool.with_connection do ?
Т.е.
def perform(user)
ActiveRecord::Base.connection_pool.with_connection do
# user.update()
end
end
Об этом прямо говорится для sucker_punch https://github.com/brandonhilkert/sucker_punch#activerecord-connection-pool-connections , а как насчет Sidekiq?

brute11k
31.05.2018
06:47:47
Я просто не знаю, как правильно в таких случаях нужно писать :D

Ēľ Ċāƥīāŋ Ƭīʋȷɍēś
31.05.2018
06:47:59

brute11k
31.05.2018
06:50:58

Google

Кøе-ктø Геннадьевич
31.05.2018
07:47:49
А может быть такое, что у тебя контроллеры наследуются от апликейшн контроллера. И получается, что у тебя что-то рендерится в апликейшне и что-то в карт? Вот он и ругается на два раза

Vitaly
31.05.2018
08:00:53
https://stimulusjs.org/
про реакты можно забыть?

Ilya
31.05.2018
08:04:25
а чем он лучше того же реакта, вью, ангуляра и прочих?
такие фреймворки каждый день выходят если что)

Vitaly
31.05.2018
08:05:13
порог вхождения ниже и более понятен

Ilya
31.05.2018
08:05:44
а у вью и реакта высокий порог входа?) куча школьников начинают писать на реакте после месяца изучения

Vitaly
31.05.2018
08:05:47
ну это мое имхо

Кøе-ктø Геннадьевич
31.05.2018
08:12:40
Руби мертвы

No
31.05.2018
08:13:51
Мне кажется за эту фразу пора уже банить
Ибо о покойнике либо хорошо
Либо ничего

Ilya
31.05.2018
08:14:37

Aleksey
31.05.2018
08:15:28
есть рубиновая свадьба, а тут рубиновые похороны

Артур
31.05.2018
08:15:53
вью чуток по проще

Кøе-ктø Геннадьевич
31.05.2018
08:17:54

No
31.05.2018
08:32:17
если правду, то шутка про "руби мёртв" не актуальна )