@rubylang

Страница 1677 из 1684
Darth
23.10.2018
18:19:24
ну на удалёнку я ещё поверю, а у нас в Кишинёве желательно синьёром быть ну или хотя бы синьёритой ;)

Dmitry
23.10.2018
18:32:38
Да вообще с годом опыта сейчас с руками отрывают
Ну мне кажется тут зависит. Год опыта бывает разным

Fedor
23.10.2018
18:35:15
У меня первый год опыта был в убогой конторе, где я не научился ничему. Зато, имея эту строчку в резюме смог пойти в нормальное место

а вот год в нормальной команде позволяет вырасти в разы

Google
Darth
23.10.2018
19:17:55
меня же взяли куда-то, хотя я не синьерита
ну и меня взяли куда-то когда-то когда я был джуном только это же не значит что не синьеру в кишиневе легко найти работу )

Amir
24.10.2018
08:28:42
Ребята как быть Я хочу в Простгрес был уникальный индекс, с возможным значением NULL а постгрес мне не позволяет

Pavel
24.10.2018
08:29:18
тогда он не будет уникальным?

Amir
24.10.2018
08:29:57
просто надо позволить сохранять NULL

одну запись конечно он сохряняет с занченим NULL а вторую уже нет

пробовал как советуют add_index :users, :email, unique: true, where: 'email IS NOT NULL' вроде не помогает, так же грозно ругается

Dmitry
24.10.2018
08:31:36
https://dba.stackexchange.com/questions/80514/why-does-a-unique-constraint-allow-only-one-null

Amir
24.10.2018
08:32:33
https://dba.stackexchange.com/questions/80514/why-does-a-unique-constraint-allow-only-one-null
ага вот это конструкция вроде как раз это и делает add_index :users, :email, unique: true, where: 'email IS NOT NULL'

PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_users_on_email" DETAIL: Key (email)=() already exists.

Dmitry
24.10.2018
08:33:37
Ну, по идее, как раз таки оно и должно работать)))

Google
Amir
24.10.2018
08:34:07
или у меня там не NULL а путсая строка ....

Dmitry
24.10.2018
08:35:24
allow_nil: true - есть?

Amir
24.10.2018
08:37:13
нет

Dmitry
24.10.2018
08:37:45
Ну, у тебя же в модели юзера есть, что-то типа: validates_uniqueness_of :email ?

Amir
24.10.2018
08:38:04
есть

Dmitry
24.10.2018
08:38:15
Ну вот, добавить туда

validates_uniqueness_of :email, allow_nil: true

И попробуй снова

Amir
24.10.2018
08:38:56
так уже срабатывает, валидатор, и грит что запись уже существует

кажется над делать хук, если пустая строка надо установить NULL

тогда наверно БД проглотит

а так кажется "" идет

или рельц это умеет еделать автоматичевски?

и так и сяк пробую, не полуачется validates :email, uniqueness: { allow_nil: true }, email: true, allow_nil: true

если только allow_blank: true тогда идет уже к БД, и атм ловит ошибку что запись уже есть

Dmitry
24.10.2018
08:45:35
validates_uniqueness_of :email, allow_nil: true
У нас была такая же проблема на проекте, это решило проблему. Ну и плюс where: .... на идексе

Amir
24.10.2018
08:47:31
у меня тут получается так, с формы то приходит значение, "" т.е. это поле могут и заполнить могут и нет поэтому у меня в email пустая строка а не NIL

тупо сделал before_validation self.email = nil unless email.present? и все заработала

Amir
24.10.2018
08:48:41
конечно криво

Google
Amir
24.10.2018
08:49:46
или тупо так делать а? object.attribute = nil if params[:attribute].blank?

или def email=(value) email = nil if value.blank? self[:email] = value end

Sergey
24.10.2018
08:57:57
self.email = value.presence

wi11son
24.10.2018
08:58:32
Эко меня в историю окунуло

Mikhail
24.10.2018
08:59:11
Зачем? Если можно 2мя запросами это сделать, выставить всем false, а потом выставить 1 true
Можно, если на прямую с базой работаешь. А ActiveRecord будет это разными запросами делать

Roman
24.10.2018
08:59:13
или, опять же, на уровне db не добавить валидацию

Mikhail
24.10.2018
09:02:30
update на релейшне сделает одним запросом
Типо сделать where сначала, потом update_all? Так можно, да, но количество строк которые апдейтить все равно O(n) сложность.

Amir
24.10.2018
09:02:46
self.email = value.presence
спс сделал так def email=(value) ¦ self[:email] = value.presence end если писать как ты делаешь, то программа зацикливается :)

Sergey
24.10.2018
09:03:35
можно еще super(value.presence) сделать

Amir
24.10.2018
09:03:57
а почему на уровне db не прописать дефолтное значение?
а там если в инсерте вместо null будет пустая строка "" то он разве заменит на дефолтное?

Amir
24.10.2018
09:06:01
Item.where(context: [nil, '']) ?
нет, вы походу запутались

Roman
24.10.2018
09:06:15
может быть ?

утро тяжеловатое ?

Amir
24.10.2018
09:08:07
Google
Сергей
24.10.2018
10:09:29
Ребя вопрос немного не по теме но нужен веб менеджер htpasswd файла кто сто посоветует

Darth
24.10.2018
11:07:39
сорри, я слоупок. а как лид это узнал, поди сам в чате сидит же? ?
Я случайно сказал во время уан ту уан Не подумал (

Sergii
24.10.2018
11:09:03
vi?

Сергей
24.10.2018
11:09:25
https://toster.ru/q/573585?e=6978892#answer_item_1292275

Sergii
24.10.2018
11:10:24
а, хтпассвд, прочлось хтакцессс

https://ruby-doc.org/stdlib-1.9.3/libdoc/webrick/rdoc/WEBrick/HTTPAuth/Htpasswd.html вот вроде в веббрике утиль есть

Артур
24.10.2018
11:12:33
Я случайно сказал во время уан ту уан Не подумал (
сегодня-то отошел уже от такого шока ? =)

Sergii
24.10.2018
11:31:15
Коллеги, а никто не обучал dynamoid, что б он джсон поля из результата сам парсил?

а, отбой

проблема была в том, что засунули жсон в рав филд

Darth
24.10.2018
11:53:29
rrr
24.10.2018
14:14:55
Всем привет✋ учусь руби , освоил гем для телеграмма telegram-bot-ruby. Непонимаю как вебхук реализовать. С вебом дел пока особо не имел. Понятно как нжинкс с телеграммом связать, а руби с нжинксом? Или как организовать вебхук с данным гемом?

rrr
24.10.2018
14:24:39
Вебхук - это просто запрос на твой сервер. Создаешь endpoint для его обработки и все
Допустим я нжинкс запустил, телеграмму указал домен куда мне слать. А как нжинкс с руби взаимодействует? Надо еще прослойку какуюто между нжинксом и руби?

rrr
24.10.2018
14:25:51
Чисто руби

Nikita
24.10.2018
14:25:52
Puma, например

или Webrick

Google
rrr
24.10.2018
14:27:58
Puma, например
То есть нжинкс ненужен?

Roman
24.10.2018
14:28:07
Всем привет. Кто-то делал бота для whatsapp? Я так понимаю, официального апи пока нет, может кто-то подсказать сторонние сервисы?

Nikita
24.10.2018
14:30:25
То есть нжинкс ненужен?
Нужен, это разные вещи немного

request -> nginx -> puma -> ruby

rrr
24.10.2018
14:31:54
Нужен, это разные вещи немного
Спасибо буду разбираться

Nikita
24.10.2018
14:32:28
Спасибо буду разбираться
Вообще если хочешь сделать это быстрее, лучше использовать фреймворк какой нить. Синатру, ханами, рельсы

Это имхо

Кøе-ктø Геннадьевич
24.10.2018
15:06:47
Сергей
24.10.2018
15:07:15
с каких нет
это больше на вею сервер смахивает

Кøе-ктø Геннадьевич
24.10.2018
15:07:37
почему это не фреймворк

Сергей
24.10.2018
15:07:54
а где написано что это фрейм

Страница 1677 из 1684