
Максим
10.01.2018
14:05:19
получается он делает такой вот иннер джоин
и потом удаляет оттуда эти сагесшн
но я не могу понять то ли так и должно быть
то ли делит как то в новой версии по другмоу себя ведёт

Google

Максим
10.01.2018
14:05:52
в ноутсах я ничего не нашёл
в бд старой приложухи на рельсах 4 вижу что он не удаляет из таблички сагесшн
а у меня удаляет
хотя должен удалять только из таблички селектед сагесшн и прочих _сагесшн
бля я тупо описываю
но надеюсь хотяб процентов на 10% ясно

Vasiliy
10.01.2018
14:10:57
какой-то пиздец лол)

Максим
10.01.2018
14:21:02
ну короче
нашёл я
там ест ьметод которые проверяет саггесшнс на наличие клонов себя
так вот он находит себя считает себя клоном и удаляет
def destroy_md5_clones
Suggestion.find_by(md5_hash: self.md5_hash, order_id: self.order_id).each {|sugg|
sugg.destroy unless self.id == sugg.id
}
end
норм переписал?

Google

ojab
10.01.2018
14:24:47
а если два клона?

Максим
10.01.2018
14:24:55
ну он же по всем проходится
или файнд бай ток 1 результат вернёт?

ojab
10.01.2018
14:25:07
а, .find_by.each
да

Vlad
10.01.2018
14:25:09
1

ojab
10.01.2018
14:25:19
и у него не будет .each

Максим
10.01.2018
14:25:21
where Тогда, да?

Vlad
10.01.2018
14:25:29
+

Максим
10.01.2018
14:25:34
сяп

ojab
10.01.2018
14:25:50
self`ы можно убрать + в пятых рельсах есть .where.not`
Suggestion.where(md5_has: md5_hash, order_id: order_id).where.not(id: id).destroy_all

Максим
10.01.2018
14:27:05
бля
охуенно
обожаю руби и рельсы
спасибо

ojab
10.01.2018
14:27:35
ну и Suggestion не очень хорошо юзать, ибо нам пофиг как он называется, так что лучше юзать self.class.where

Максим
10.01.2018
14:27:53
а почему не оч хорошо?
разве не более читабельно?

ojab
10.01.2018
14:29:23
хз, но в (невероятном) случае переименования Suggestion и/или копипаста — Suggestion поломается, а self.class не поломается.

Google

ojab
10.01.2018
14:29:28
ну да это вкусовщина

Максим
10.01.2018
14:30:46
хм
реал
но
поменять в файле контрл эфом имя класса легко

Nikita
10.01.2018
14:31:15
это лишние действия

Максим
10.01.2018
14:31:16
пробелма всё равно останется когда будешь исктаь по другим файлам

Nikita
10.01.2018
14:31:34
если ты пишешь метод в той же модели, то тебе достаточно писать просто where(...)

ojab
10.01.2018
14:31:41
это инстанс

Максим
10.01.2018
14:31:42
опа

Egor
10.01.2018
14:31:53

Максим
10.01.2018
14:32:04
был другой
просто находил по мд5 хешу и ордер айди
и удалял

Egor
10.01.2018
14:32:21
Ну, т.е это не ActiveRecord делает

Максим
10.01.2018
14:32:22
если есть
да

Egor
10.01.2018
14:32:31
это в проекте на колбек повесили

Максим
10.01.2018
14:32:38
да

Google

Egor
10.01.2018
14:32:39
обожаю AR колбеки

Максим
10.01.2018
14:32:40
бефо сейв

Egor
10.01.2018
14:32:44
шутка

Максим
10.01.2018
14:32:58
я часто слышу что люди не любят ар колбеки
но не могу понять почему
из-за таких вот моментво как раз?

Nikita
10.01.2018
14:33:07
потом поймешь)

Egor
10.01.2018
14:33:27
хотябы из-за таких

Максим
10.01.2018
14:35:23
метод то в колбеке
видимо зовётся на экземпляр класса
а ну да
он же не self метод

Egor
10.01.2018
14:36:23
смотря что в self)

Максим
10.01.2018
14:42:17
метод описан в модели, метод не начинается с self. , а значит это метод экземпляра класса а не класса
кстати не задумывался а в руби так же или ток в рельсах
так же да?
по моему так же

Egor
10.01.2018
14:43:12
ты ж на руби пишешь

Nikita
10.01.2018
14:43:47
смотря где ты используешь self.

Google

Nikita
10.01.2018
14:43:52
в методе класса или инстанса

Максим
10.01.2018
14:44:09
поэтому просто where не сработало
был бы метод класса сработало бы
правильно понял?

Nikita
10.01.2018
14:45:05
правильно)
но тебе ничего не мешает использовть self.class.where(...)

Максим
10.01.2018
14:45:36
клёвое всё таки у руби коммьюнити

Nikita
10.01.2018
14:46:25
это ведь можно обосновать
как выше сказал ojab, при изменении названия класса (в твоем случае модели) - не придется геморроится
и не исключен вариант, что допустим в будущем модель переименуется, а название твоей текущей модели - это будет совсем другая модель)
но это уже предирство

Vasiliy
10.01.2018
15:00:33
а ты кстати за праздники собирался с нуля проект переписать, получилось?

Максим
10.01.2018
15:01:58
ай бля
тусовки унесли меня
от пк

Roman
10.01.2018
15:13:12
никто и не сомневался ? ну хоть тусовки уберегли тебя от этого

john
10.01.2018
15:29:32
отсортировал арай