@rubyschool

Страница 470 из 921
O
03.12.2017
18:11:02
Ща всё будет

https://paste.fedoraproject.org/paste/nzB8t~nYMSfanOsrsOSE5w

я просто о длине строки )))

Oleg
03.12.2017
18:12:22
такой длинный метод чейнинг можно и на несколько строк переносить

Google
Fedor
03.12.2017
18:12:23
стандартное ограничение rubocopa - 80 символов

мне оно не нравится, я предпочитаю 120

в конце концов, мониторы у нас уже не 640x480 и в экран влезает много всего, и с 10 символов могут быть просто отступы

ну и цепочку же по точкам переносить можно

O
03.12.2017
18:13:42
цепочку перенес )

Oleg
03.12.2017
18:13:52
мои любимые десятистрочные уан-лайнеры...

O
03.12.2017
18:13:56
а само что столько втекает в @calls это норм же ? :D

Dmitry
03.12.2017
18:15:07
вот тут как раз можно scope сделать

Fedor
03.12.2017
18:15:11
ну как...

Dmitry
03.12.2017
18:15:13
или метод какой

Fedor
03.12.2017
18:15:21
легче раскидать по скоупам и фильтрам

что бы красивее было

https://paste.fedoraproject.org/paste/GT1DC49pZjycXSySKZJB5Q

Google
Fedor
03.12.2017
18:15:33
ну или так это хотя бы читать можно

ну и то, что у вас в sql идут params без фильтрации как-то не очень

Fedor
03.12.2017
18:17:29
ну выглядит это как кусок контроллера

то, что там лежит в params - это параметры из запроса

а там может быть все, что угодно

O
03.12.2017
18:17:57
ну да , параметры из запроса

где именно ?

в каком методе ?

в date_period?

Fedor
03.12.2017
18:18:44
sql инъекцию туда не аихнешь, потому что при передаче в методы AR отфильтрует, но к примеру если не передать номер страницы все упает с 500 ошибкой

Oleg
03.12.2017
18:18:45
интерполяции прямо в sql из params в коде не видно)

Fedor
03.12.2017
18:18:48
или date_start

а это не нормально

O
03.12.2017
18:19:15
а там стоит if))

даже с regex

Fedor
03.12.2017
18:19:23
везде?

O
03.12.2017
18:19:46
в dateparsed например

в paginate

там уже само

Google
O
03.12.2017
18:20:28
В search

в search там просто ILIKE ? строк , и т.д , там незнаю чем инъекцию сделать

Fedor
03.12.2017
18:22:24
а как оно у вас троку из пробелов обработает?

O
03.12.2017
18:24:16
в каком именно ? в search обычный поиск пробелов делает

как я понял поиск пробелов

Dmitry
03.12.2017
18:24:47
так раз тут про иньекции заговорили есть у меня скоп вот такой scope :current_sort_form, ->(project_name) { where(:project => project_name).maximum('sort_form') + 1 }

в project_name у меня идут params[:question][:project]

тут же все ок? или что то там надо фильтровать

Fedor
03.12.2017
18:27:58
ок

ты передаешь параметр в метод AR там есть фильтрация

не надо делать вещей вида: where("id = #{params[:id]}")

в каком именно ? в search обычный поиск пробелов делает
ну вот строка может быть nil, а может быть пустой строкой

Fedor
03.12.2017
18:29:43
это по разному обрабатывается методами 'nil?' и 'blank?'

при этом я не уверен, что нормально обработается ILIKE '' в sql

O
03.12.2017
18:30:30
postgresql

в sql оно не тютю

Fedor
03.12.2017
18:30:36
и таких тонких моментов много

к примеру, если туда передать % получится скан всего текста, если текста много и запросов много, легко можно положить базу

такие вещи надо фильтровать, и это не место для метода обращающегося к базе

на мой взгляд надо фильтровать параметры, и на основе имеющихся параметров, принимать решение, какие методы мы вызываем для обращениея к БД и уже там передавать параметры с полной уверенностью, что они верные

Google
O
03.12.2017
18:33:00
а как поступать при общем поиске ?

Fedor
03.12.2017
18:33:16
зависит от того, что и как надо искать

если вы допускаете поиск по маске и отдаете себе отчет, что это долго, то ничего

если вы ищите слова, надо фильтровать спецсимволы из параметров _ и %

но если вы считаете, что человек может искать что-то про 10% то надо не фильтровать, а экранировать )

O
03.12.2017
18:35:20
у меня если в поиск передать % ничего не происходить

и если _ то ничего

Fedor
03.12.2017
18:35:55
что значит ничего?

запрос не отправляется?

Admin
ERROR: S client not available

Fedor
03.12.2017
18:36:11
тогда эта самая фильтрация где-то там уже есть )

O
03.12.2017
18:36:33
запрос отправляется но поиск не реагирует, остается то что уже выведено

тоесть он не ищется а остается всё как есть , в консоли запрос принимается , фух , значит где то фильтр стоит

но если вы считаете, что человек может искать что-то про 10% то надо не фильтровать, а экранировать )
экранировать , звучит интересно, прочитаю по это, но то что строка такая длинная это же норма ? (по точкам отсортировал,(стало красивее))

Fedor
03.12.2017
18:41:05
ну вообще да, цепочки - не проблема

O
03.12.2017
18:41:38
ну вообще да, цепочки - не проблема
терь можно жить спокойно )

Vladimir
03.12.2017
18:56:15
Если у кого #Ruby в приоритете языков №1, то какой ЯП у вас на 2-месте?

Fedor
03.12.2017
18:56:31
go

но я чистый бэкэндер, чаще всего идет js )

и это правильно

Google
Vladimir
03.12.2017
18:57:15
ну да, всё от узконаправленности задач зависит

Dmitry
03.12.2017
20:30:26
включил сегодня свой thinkpad после двух недель на макбуке

блин удобный он все таки

безоговорочны плюса только два у макбука перед ним это автономность и экран.

тщета бытия же заключается в том что thinkpad с уровнем экрана как на маке, стоит дороже чем мак

и я не уверен что он такой же прочный как мой, потому как если его на пол уронить можно повредить ламинат..

Evgeniy
03.12.2017
20:47:22
и я не уверен что он такой же прочный как мой, потому как если его на пол уронить можно повредить ламинат..
один раз в машине уронил при резком торможении thinkpad еще старый на базе core2duo (там видео конвертировалось в это время). USB вход в дребезги (ключ защиты был воткнут). сидюк постоянно отключался/подключался и синий зуб с тех пор глючит. один раз в поезде уронил мак прошку наверное чуть повыше, чем thinkpad - и хоть бы что. так что вопрос такой... весьма открытый. panasonic в этой схватке выживаемости точно выиграл бы ;)

Dmitry
03.12.2017
20:48:16
с дуру можно и хуй сломать

это скоре исключение у тебя было чем правило

Igor
03.12.2017
21:27:35
как очистить икран в консоли рубимайн

Aleksey
03.12.2017
21:32:05
Что за икран?

Igor
03.12.2017
21:32:31
экран

а ты кто?

Aleksey
03.12.2017
21:33:07
Может cls или clear



Ro
03.12.2017
21:34:44
можно `clear`

Igor
03.12.2017
21:34:51
это в винде и в маке

Ro
03.12.2017
21:35:07
или `reset`

обратные кавычки обязательны

Aleksey
03.12.2017
21:35:23
Ну ппц. Как можно такие элементарные вопросы даже не попытаться погуглить? ((

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