@rubylang

Страница 1327 из 1684
Максим
09.01.2018
07:19:51
пацаны

есть инфа о том как там в 5 рельсах и мскл работать с джсон полями?

ну в актив рекорде

ojab
09.01.2018
07:22:00
делаешь json поле, работаешь с json полем

Google
Максим
09.01.2018
07:22:13
ну типа есть какая статья\дока на эту тему?

а то чёт рыщу найти не могу

Sergii
09.01.2018
07:23:11
есть, https://www.postgresql.org/docs/current/static/functions-json.html

ojab
09.01.2018
07:23:28
doen!

Максим
09.01.2018
07:23:58
ну MySql

ojab
09.01.2018
07:24:47
json вообще поддерживается на уровне "хранить/доставать", функции и прочее через AR не поддерживаются

Sergii
09.01.2018
07:24:47
хз, наверное https://dev.mysql.com/doc/refman/5.7/en/json-functions.html ?

Максим
09.01.2018
07:25:35
вот

для постгреса можно просто взять и сказать создай мне в такой то сущности запись с таким то пейлоадом типа Event.create(payload: { kind: "user_renamed", change: ["jack", "john"]})

и я как раз про то что типа вот есть ли подобный способ обращатсья к джсон полям в мскл таблицам в рельсах?

ojab
09.01.2018
07:27:31
так же

Google
Максим
09.01.2018
07:27:45
понял

спасибо

так же
блин а почитать то про это нигде нет? а то сейчас это выглядит как секретное знание предающееся отпрограммиста программисту чисто вербально, а мне бы начальнику во что то палцьем ткнуть если нужно будет что то разъяснять я это самое, новичок, мб не понимаю чего, мб это всё просто в основах актив рекорд написано? типа как это работает? актив рекорд берёт твой запрос, с помощью гема адаптера конвертирует в соответствующий запрос, шлёт и вовзарщает результат в виде экземпляра объекта модели? и так вот вышло что у постргескл и мскл одинаковые запросы рельсовые запросы понимает адаптер? или запрос просто такой какой есть и уже под капоом он там как то по своему с ними работает?

бля как же тяжело первый рабочий день в году когда и спал ещё 2 часа

ojab
09.01.2018
07:40:05
В сорцах всё написано https://github.com/rails/rails/pull/21110/files

Максим
09.01.2018
07:40:15
ща читану

ojab
09.01.2018
07:42:00
В AR connection adapter прописано как сериализовать объект для отправки в gem для работы с БД (i. e. pg/mysql2/etc)

ojab
09.01.2018
07:42:49
поддержка json — собственно "массивы/хеши/и т. п. никак не сериализовать и говорить гему что храним как json"

(хотя вместо "сериализовать" лучше сказать "привести к нужному типу", вестимо. Потому что там сериализации как таковой нет, но прописано что нужно дёргать .to_i для integer'ов, .to_f для float'ов и иже)

Максим
09.01.2018
10:38:39
спасибо за полноценное объяснение, мне стало яснее

Roman
09.01.2018
11:17:59
Всем привет. Есть некая запись в редисе, и к этой записе при итерации массива нужно обратиться, допустим, 200 раз. Насколько это плохо?

rekero
09.01.2018
11:33:29
на 199

Sergey
09.01.2018
11:37:42
Всем привет. Есть некая запись в редисе, и к этой записе при итерации массива нужно обратиться, допустим, 200 раз. Насколько это плохо?
а нельзя результат сохранить в переменной или каждый раз надо проверять состояние записи?

Roman
09.01.2018
11:39:52
да просто надо было хранить значение, которое приходит из контроллера и которое нужно получить в моделе при каждой инициализации объекта

сначала подумал про редис, но вроде можно через AppName::Application.var сделать

Eugene
09.01.2018
11:42:35
ну сохранить куда-то на диск точно надо, а так да, закэшировать 1 раз и все, 200 дергать не надо

Sergey
09.01.2018
11:43:05
да просто надо было хранить значение, которое приходит из контроллера и которое нужно получить в моделе при каждой инициализации объекта
То есть тебе надо получить данные из контроллера, потом положить их в какой-то буфер. Далее, в каком-то другом месте итерировать 200 объектов модели (видимо создавать) и вызывать initialize коллбек в котором ты используешь значение из буфера? Верно?

Google
Sergey
09.01.2018
11:45:44
А что мешает обойтись без коллбека, и там где работаешь с коллекцией, перед созданием большого количества объектов, вызвывать считывание значение из буфера и положить в переменую. А уже в итератор прокинуть эту переменную?

Чем каждый раз дергать коллбек и каждый раз считывать значение?

Если ничего не мешает, то это более оптимальный путь

Roman
09.01.2018
11:47:08
много написано уже, очень много рефакторить

я понимаю, что коллбэк - это плохо, но сейчас это самый быстрый вариант

biert
09.01.2018
12:27:31
ребята, подскажите, style guide по руби пишет что надо короткие строчки писать, разбивать все по методах, но как разделить вот такую вот строчку @reservation.calculated_cost_of_ride(@google_output['distance'], @google_output['duration'], 'after') unless @reservation.driver.waiting? || @reservation.driver.to_passenger?

и как бороться с множествами if elsif else

Sergey
09.01.2018
12:29:40
unless @reservation.driver.waiting? || @reservation.driver.to_passenger? distance = @google_output['distance'] duration = @google_output['duration'] @reservation.calculated_cost_of_ride(distance, duration, 'after') end

biert
09.01.2018
12:31:24
спасибо, с этим понял

Sergey
09.01.2018
12:32:06
и как бороться с множествами if elsif else
Зависит от контекста, может и никак. В таком случае можно вынести в отдельный метод, например

biert
09.01.2018
12:32:49
то есть избавится зачастую нельзя, но для избежания нагромождения лучше выносить блоки в отдельные методы, я правильно понял?

Sergey
09.01.2018
12:34:08
ну все зависит от конкретной ситуации

Sergey
09.01.2018
12:34:50
если у вас будет много методов, которые содержат только if elsif else, то это не есть хорошо

Aleksey
09.01.2018
12:42:31
как писал один “гуру” - если у вас в коде есть if/else, ваше ООП говно

biert
09.01.2018
12:47:17
слишком много ООП мне кажется превращает код в монстра

eshch
09.01.2018
13:12:11
много ооп не бывает. всегда можно бесконечно углубляться. вопрос когда остановиться всегда должен стоять в повестке.

Sergii
09.01.2018
13:17:21
вопрос баланса

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

No
09.01.2018
13:27:48
Хм, пацаны

А кто-то в курсе

Google
No
09.01.2018
13:27:56
Что случилось с соседним чатом?

По руби

Максим
09.01.2018
13:29:08
Каким из

Alex
09.01.2018
13:29:22
pro.ruby ?

Максим
09.01.2018
13:29:37
Жив здоров

Руби толкс тоже

No
09.01.2018
13:30:06
хм

pro.ruby не находит

значит меня там забанили, только хз, за что

Admin
ERROR: S client not available

No
09.01.2018
13:30:35
я так не общался недели две точно

Антон
09.01.2018
13:30:58
тогда может быть не стоит общаться? :)

No
09.01.2018
13:31:10
ну, правил я там точно не нарушал

странная фигня

ну да ладно

Максим
09.01.2018
13:31:19
Странно

Там вроде норм ребята

No
09.01.2018
13:31:32
насколько я помню - там спам атака была

и я во время неё переписывался с кем-то

может загребли как спамера

Google
No
09.01.2018
13:31:46
в кучу

Максим
09.01.2018
13:31:49
Мб задело

Случайно

Напиши админам

No
09.01.2018
13:32:08
да, пожалуй попозже напишу

Eugene
09.01.2018
13:32:37
никнейм не понравился мож)

No
09.01.2018
13:32:46
какой есть )

Eugene
09.01.2018
13:32:58
поменяй на prod

biert
09.01.2018
14:20:38
ой чувствую меня бы бывалый рубист побил за мой код

Andrey
09.01.2018
15:02:19
Eloquent Ruby тебе на ночь

Konstantin
09.01.2018
15:35:11
Всем привет. Есть у кого нибудь ссылка на статьи по установке сервера для RoR и настройки его.

??

Eugene
09.01.2018
15:36:26
для дева? или для прода?

rails nginx puma configuration

Konstantin
09.01.2018
15:39:42
Eugene
09.01.2018
15:40:08
все из коробки работает

Nikita
09.01.2018
15:40:10
а что именно настроить нужно?

ojab
09.01.2018
15:41:32
Ставь свежий ruby (2.4/2.5, если в системе нет — можно через rvm/rbenv поставить), дальше можно http://guides.rubyonrails.org/getting_started.html смотреть

(вообще ruby должен быть 2.2.2+, но есть смысл ставить 2.4+ — там появилось некоторое количество удобных штук)

Nikita
09.01.2018
15:44:22
Konstantin ты скажи что тебя конкретно интересует, чтобы было понимание о том, что тебе нужно... как поставить руби + рельсы с 0?

Konstantin
09.01.2018
15:47:58
Konstantin ты скажи что тебя конкретно интересует, чтобы было понимание о том, что тебе нужно... как поставить руби + рельсы с 0?
Суть в том, что я поставил на ubuntu vpn через rvm = ruby+rails, клонировал с гита проект, запустил через rails server -p 4000, и перешёл по domen:4000, всё работает, вышел с консоли, зашёл заново, rvm команды выполняются, а ruby и rails пишет что команды не найдены.... В чем дело, не пойму

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