
Темур
11.07.2017
14:12:49
ханами не нужен

Anton
11.07.2017
14:13:30

Serhii
11.07.2017
14:13:38
вот с логиками у рельсы проблема да, но как говорит ДХХ "рельсы это не ваш фреймворк" и кодеры смирившись с этим высказыванием прикручивают к рельсе треилблейзер )

Темур
11.07.2017
14:13:42
ханами это фреймворк ради фреймворка
за которым не видно продукта

Google

Anton
11.07.2017
14:14:01
он не решает никаких проблем
(от слова совсем)

Serhii
11.07.2017
14:14:29
да чего, по структуре какраз решает

Anton
11.07.2017
14:14:47
в этом беда
ну и если ты делаешь что-то кастомное в трейлблейзере - отхватишь сильно

Serhii
11.07.2017
14:15:41
вот поэтому надо подбирать фреймворк под проект

Anton
11.07.2017
14:15:54
зачем?

Темур
11.07.2017
14:16:15
на сколько крупных?

Anton
11.07.2017
14:17:11

Google

Anton
11.07.2017
14:20:34
а, еще прикол трейлблейзера в том, что он полностью легко заменяется dry стеком

pny
11.07.2017
14:21:26
Лорчую что trb не нужен

Anton
11.07.2017
14:21:38
и я даже попробую про это рассказать как это сделать, когда до конца додумаю все это

Serhii
11.07.2017
14:22:32
dry-стек - это что?

Anton
11.07.2017
14:22:38
http://dry-rb.org
это набор инструментов для работы с функциональными объектами
хотя многие считают, что это rubyEE

Serhii
11.07.2017
14:26:33
ну да, вполне может заменить
впринципе никто не запрещает юзать вообще гемы поотдельности из которых и состоит и драй-стек и треилблейзер

v
11.07.2017
14:41:17

ojab
11.07.2017
14:43:29
каким образом?
не приходится городить`Arel::Nodes::BindParam.new` и иже

v
11.07.2017
14:43:46

trickster
11.07.2017
14:44:10
посоны, как проверить запускается ли джоба на сервере(кроном)

Anton
11.07.2017
14:44:34

trickster
11.07.2017
14:44:43
логи делейд джоба молчат

ojab
11.07.2017
14:44:46
почеау не приходится?
потому что там они из коробки, очевидно. Я не думаю что по ссылке выше неэкранированный текст в запросы пихается.

trickster
11.07.2017
14:44:51
логи стейджа несутся хз куда
крон раз в день

Vasiliy
11.07.2017
14:45:21
grep

ojab
11.07.2017
14:45:41

Google

v
11.07.2017
14:46:12

ojab
11.07.2017
14:46:20
эммм
wat
про что конкретно был вопрос "каким образом?"

v
11.07.2017
14:46:49
про "Arel при необходимости облагородить не особо сложно"

ojab
11.07.2017
14:46:53
а
dsl накатать

v
11.07.2017
14:47:04
ой, все

ojab
11.07.2017
14:47:36
ну извините
если уж не dsl, то обернуть Arel::Nodes::BindParam.new и иже во что-то более короткое

Anton
11.07.2017
14:49:02

ojab
11.07.2017
14:51:22
dsl не всмысле dsl аля модели AR (i. e. всё не выглядит как код), а dsl аля более удобные методы для работы с раздражающими вещами

ojab
11.07.2017
14:51:59
(модели AR — has_one, has_many и вот это всё)

Sergey
11.07.2017
14:52:08
возвращась к вопросу о шаринге сессии между доменами. Плохим ли выходом будет передавать access_token другому домену?

ojab
11.07.2017
14:52:22
А как ты его будешь передавать?

Sergey
11.07.2017
14:52:52
хороший вопрос
может CORS?

ojab
11.07.2017
14:53:41
нет, iframe и postMessage(), CORS и прочее тебя не спасёт если это не поддомены

Sergey
11.07.2017
14:54:14
а примерно по шагам как это реализовать?

ojab
11.07.2017
14:55:16
https://tools.ietf.org/html/draft-sakimura-oauth-wmrm-00

Google

ojab
11.07.2017
14:55:25
тебя интересует самый простой кейс

Sergey
11.07.2017
14:56:16
cпасибо!

ojab
11.07.2017
14:59:45
ну и лучше с этим в какой-нибудь js-чят, там, вероятно, помогут значительно быстрее и понятнее

Alexander
11.07.2017
17:28:08
Привет
Есть две модели со связью 1 к 1.
Почему при model.create_association() не затирается из базы старая, хотя обычно должна? Поймал баг пару раз, но как только ставлю брейкпоинт - код начинает работать нормально и удалять прошлую запись

Admin
ERROR: S client not available

Alexander
11.07.2017
17:30:17
Возможно, кто-то просто сталкивался с подобным

Rustam
11.07.2017
18:05:46
локи и транзакции в помощь

ojab
11.07.2017
18:08:26
wtf 1 к 1? belongs_to с обеих сторон?

Alexander
11.07.2017
18:09:17
Model has_one AnotherModel

ojab
11.07.2017
18:09:59
с другой стороны belongs_to? Какие-нибудь валидации для них прописаны?
Лучше всего в БД уникальный индекс сделать, чтобы такого не было.

Alexander
11.07.2017
18:10:34
Нет, никаких вплидаций нет.
С другой стороны belongs_to.

ojab
11.07.2017
18:11:33
А почему старая должна затираться?

Alexander
11.07.2017
18:12:17
Так ведёт себя метод, который генерирует has_one. При создании новой автоматически удаляется старая
По крайней мере на моей памяти это автоматически всегда было

ojab
11.07.2017
18:15:10
смотря с какой стороны генерируешь, у одной из моделей есть поле another_model_id и оно не затирается

Alexander
11.07.2017
18:17:23
Спасибо за ответы

ojab
11.07.2017
18:19:37
то бишь в твоём примере у AnotherModel есть model_id и если ты сделаешь another_model.create_association — оно перепишется и всё будет ок, если ты сделаешь model.create_association —- произойдёт (у вновь ассоциированной) another_model.model_id = model.id. У старого инстанса another_model ничего не изменится, он так же будет belongs_to.
ограничение в одну ассоциацию у тебя только с одной стороны

Alexander
11.07.2017
18:22:44
Только хочу поправить, что метод create_association вызывается не на another_model, а на model, так как это model has_one another model.

Google

Alexander
11.07.2017
18:25:58
Сон поможет :)

ojab
11.07.2017
18:28:33
ну вот, у прошлых model.another_model ассоциации остаются висеть.

Alexander
11.07.2017
18:35:35
Я работаю с одним объектом, их не много :)
Реальный пример:
Product has_one Attachment
product.attachment.present? => true
Нормальное поведение:
product.create_attachment(params) # удаляет прошлый, записывает новый
Поведение, с которым я столкнулся:
product.create_attachment(params) # создает новый, старый остается висеть в базе просто так, и если мы этот новый attachment удалим, он (старый) станет на свое прежнее место и product.attachment будет возвращать старый соотв-но
Ладно, если я не смог объяснить проблему внятно, чтобы было понятно с первого раза адекватному человеку, то проблема явно во мне :) Поработаю над этим
Спасибо ?

ojab
11.07.2017
19:01:57
таких вариантов множество и рельсы тут ничего поделать не могут, поэтому если действительно нужны какие-то ограничения на данные — их нужно ставить в БД

Alexander
11.07.2017
19:04:43
Спасибо!

A1ex Lopatin
11.07.2017
20:45:03
Нужна помощь - не передаются аттрибуты в парамс из вьюхи в экшен, их там нет. Borrowers has_many payments, nested routes в routes.rb. borrower_payment_path передает в params только borrower_id, a нужно еще и id для payment:
No route matches {:action=>"show", :borrower_id=>"5", :controller=>"payments"}, missing required keys: [:id]
Мне нужно перейти по borrower_payment_path, а вылетает ошибка эта ошибка.
Ниже гист - https://gist.github.com/AIexey-L/bf326079864ddc2684be8796019d2e1f

v
11.07.2017
20:56:47
а где у тебя передается borrower_id в link_to?

Stanislav
12.07.2017
03:32:56
#язабан

v
12.07.2017
03:40:24

Stanislav
12.07.2017
03:40:55

v
12.07.2017
03:41:26
в канал зайди и нажми там report