@rubylang

Страница 1449 из 1684
Silent Bob
05.04.2018
19:06:49
все таки мне кажется что с двумя отдельными моделями Admin и Manager + include модуль с общими методами будет понятнее

Roman
05.04.2018
19:06:56
связь 1 к N не порождает новую табл

Ruslan
05.04.2018
19:07:30
смотря как это юзать

я имею ввиду, как в конечном счете будет работать эта связь

Google
Silent Bob
05.04.2018
19:08:27
ну админы к примеру не могут вообще никак управлять или видеть чужих менеджеров

Roman
05.04.2018
19:08:35
если не нравится admin_id можно просто parent_id. И хоть 100500 ролей тогда добавлять. Если роли наследуют друг друга.

Silent Bob
05.04.2018
19:08:59
т.е. группы админ + менеджеры должны быть полностью изолированы между собой

Ruslan
05.04.2018
19:09:15
у тебя может быть так, что 2 админа будут связаны с 1 менеджером?

Silent Bob
05.04.2018
19:09:24
нет

Ruslan
05.04.2018
19:09:37
ну тогда да, таблица не нужна

Максим
05.04.2018
19:09:48
нет
Почему

А если попросят

Roman
05.04.2018
19:10:14
у тебя может быть так, что 2 админа будут связаны с 1 менеджером?
Это уже M к N, тогда бы точно отдельная табл была)

Ruslan
05.04.2018
19:10:19
потому что если будет 2 админа 1 менеджер, это как раз юзкес чтобы юзать одельную таблицу

Silent Bob
05.04.2018
19:10:24
т.е. группы админ + менеджеры должны быть полностью изолированы между собой
группа обозначает собой компанию, которой предоставляется сервис грубо говоря

Ruslan
05.04.2018
19:10:53
группа = админ юзер?

Google
Roman
05.04.2018
19:10:59
тогда на программном уровне нужно будет проверять, чтобы один админ был

Silent Bob
05.04.2018
19:11:00
два админа из разных компаний не могут иметь одного и того же менеджера

Roman
05.04.2018
19:11:39
не проблема, но лучше нормально спроектировать

Silent Bob
05.04.2018
19:11:54
а из одной?
админ должен быть один на компанию)

Roman
05.04.2018
19:12:00
тогда не нужно будет ничего думать лишнего

Ruslan
05.04.2018
19:12:27
админ должен быть один на компанию)
ты кстати не ответил что у тебя будет компанией, если у тебя компания это отдельная сущность, я бы к ней привязывал менеджеров, а не к админу

Silent Bob
05.04.2018
19:13:02
ты кстати не ответил что у тебя будет компанией, если у тебя компания это отдельная сущность, я бы к ней привязывал менеджеров, а не к админу
я пока не думал про модель компании отдельно. Впринципе Админ акк и олицетворяет компанию пока что

Ruslan
05.04.2018
19:13:35
ну мне кажется правильнее будет выделить отдельную модель с связью 1 к 1, а компания будет 1 к Н иметь менеджеров

потому что у тебя тогда будет админ перемешиваться с компанией

и если у нее будет атрибуты не нужные для юзера это будет плодить ненужные атрибуты всем юзерам

Roman
05.04.2018
19:14:19
связь 1 к 1 - это просто поле юзеру добавить )

Silent Bob
05.04.2018
19:14:50
ну в целом согласен, было бы удобно сразу сгруппирировать админа и менеджеров под одной компанией. @company.admin , @company.managers

Ruslan
05.04.2018
19:15:06
ну можно и так, а можно и заготовку на будущее сделать и в компании хранить user_id

сначала у тебя будет has_one

а потом легко переделать на has_many

Roman
05.04.2018
19:16:12
а почему не в юзера company_id ?

Silent Bob
05.04.2018
19:16:28
понял, Спасибо большое всем за помощь, прояснилось многое))

Ruslan
05.04.2018
19:17:04
а почему не в юзера company_id ?
заготовка на возможное изменение чтобы было Н-ое кол-во компаний + зачем юзеру плодить эти ИД?

Google
Roman
05.04.2018
19:18:51
так это не мешает добавлять компании. Но можем в будущем привязать несколько админов

Ruslan
05.04.2018
19:19:01
а то сегодня компания, завтра там не знаю, еще какая-то сущность, и модель юзера будет иметь 100500 форинкеев, но зачем?

по моей структуре админ 1, он владелец этой компании

Roman
05.04.2018
19:19:41
по твоей - да, один

Ruslan
05.04.2018
19:19:43
а админов можно как менеджеров инклюдить если нужно

Silent Bob
05.04.2018
19:19:58
Roman
05.04.2018
19:20:00
не всё нужно в юзера выносить. Нужно анализировать предметную область

Ruslan
05.04.2018
19:20:32
верно, но она имеет свойство меняться и подумать лучше оптимальный вариант, чем первый простой

потому что кто знает, что клиент захочет через год

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

Roman
05.04.2018
19:22:25
да, но так мы привязываем жестко одного юзера.

Ruslan
05.04.2018
19:22:34
как владельца

нас же никто не ограничивает

добавить админов как членов компании, как менеджеров

Roman
05.04.2018
19:23:43
а как они будут появляться в системе?

админ регать?

Ruslan
05.04.2018
19:24:03
если будет связь как ты предлагаешь, то мы не сможем обычным способом указать владельца, только выходит юзера, который был раньше всех зареган с этой компанией

Roman
05.04.2018
19:24:58
ну так правильно

Ruslan
05.04.2018
19:26:05
такое, не самый надеждый способ

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

Google
Ruslan
05.04.2018
19:26:45
то он выходит станет ее владельцем

пабам

Silent Bob
05.04.2018
19:26:53
админ регать?
я думаю админ регается сразу вместе с компанией, через одну форму

Roman
05.04.2018
19:27:45
регаешь нового и прязываешь всех от старого, вариант же)

хоть немного и костыльный

Ruslan
05.04.2018
19:28:47
ну вот в моей логике костыля не будет) и зато можно гибко еще задавать права в рамках организации для каждого юзера, будь то админ или менджер, если вдруг и такое нужно будет сделать

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

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

Roman
05.04.2018
19:32:09
самый простой варант как мне кажется- это добавить поле company_id, и обычные роли admin или manager

Ruslan
05.04.2018
19:33:40
простой но не гибкий, особенно, раз все же логичнее вынести в компанию отдельно от юзера (к примеру у нее будет имя, это что мы у юзера будем еще хранить company_name?)

Roman
05.04.2018
19:34:19
нет, отдельная сущность

форинкей в юзера

связь 1 к N именно так конвертится

в какую-то из табл выносим ключ с другой

Ruslan
05.04.2018
19:36:32
вариант конечно рабочий, но я уже писал, какие ограничения он наложит, а чем по 10 раз переделывать проще сделать с меньшей кровью

Roman
05.04.2018
19:36:59
ок)

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

George
05.04.2018
20:29:25
вот да, спс наверное модулями лучше
Проясните идею с модулями? Пример с STI на мой взгляд вполне хорош, потому что предотвращает кучу геммороя при relations - когда надо разных пользователей к чему-то привязать, например. Несколько раз разносил по таблицам в проектах - пришел к выводу что ничего кроме какой-то ненужной волокиты не выиграл. Доступы вообще через cancan можно отдельно прописывать. А что дают модули и include Просто паттерн не совсем понятен.

И еще тут вообще размышления для аналитика на проекте - "роль" - это свойство юзера или свойство привязки юзера к объекту. Он может где-то быть админом, а где-то - юзером?

Ruslan
05.04.2018
20:38:53
в данном случае STI не нужен, усложнит проект, тут просто нет в этом необходимости. Роль, ну, на мой взгляд достаточно поля (enum), если не планируются каких-то сложных пермишенов, а если что это не сложно будет переделать на более продвинутую структуру с таблицей ролей

Google
George
05.04.2018
20:43:34
Согласен

Alexander
06.04.2018
06:36:09
Всем привет. Никто не сталкивался с проблемой долгой перезагрузки кода Rails приложение, когда что-то меняешь в исходнике (на рендер станицы уходит 15 секунд, в обычных условиях, оно меньше 1 секунды), я поинмаю, что надо код перезагрузить, но всеже время какой-то странное.

Vasiliy
06.04.2018
07:14:17
Спринг воткни попробуй

Alexander
06.04.2018
07:22:16
Так с ним

pny
06.04.2018
07:22:26
А что именно ты меняешь? Код или css js?

Alexander
06.04.2018
07:24:53
rb

когда js/css быстро

Максим
06.04.2018
07:31:51
У меня так же я думал это нормальное повежение

У меня чисто апишка

Запрос шлется и просто будто ожидает чего то и потом только доходит до экшна

Lavrushchik
06.04.2018
09:20:04
народ, вопрос. есть capistrano и ckeditor в проекте. при редеплое upload-папка с файлами, залитые с помощью ckeditor'а остаются в папке предыдущего релиза. как бы ручками можно перенести в текущий деплой эту папку, но это не тру. соотвесна, можно ли как-то этот вопрос "объяснить" в инструкциях капистрано? ну или в крайнем случае, на самом серваке

Lavrushchik
06.04.2018
09:21:09
понял, почитаю доку, спасибо

Богдан
06.04.2018
09:27:54
Господа, а не подскажите как правильно сделать что бы получить часть от хеша, например есть `user = { name: '0', email: '1', password: '2' } ` а нужно плучить только { name: '0', email: '1'} ?

Sergii
06.04.2018
09:29:19
user.slice :name, :email => {:name=>"0", :email=>"1"}

Богдан
06.04.2018
09:30:27
Sergii
06.04.2018
09:31:26
есть еще какие-то настройки фильтрации, что бы ненужные данные не светились в логах

Darth
06.04.2018
09:35:00
Руби

Sergii
06.04.2018
09:35:23
рельсы, а надо чистый руби?

Василий
06.04.2018
09:35:36
https://blog.bigbinary.com/2018/02/06/ruby-2-5-added-hash-slice-method

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