
Nikolay
30.06.2016
19:28:36
я из консоли собираю current_user = User.where()..
и понеслась к нему

Andrey
30.06.2016
19:30:48
например, есть модель post, посты выводим в обратном порядке по дате создания
вешаем на post default_scope order(:created_at)
потом, например хотим в консоли создать пост, и обратиться к нему привычным Post.last
AR составит запрос к бд с учетом default_scope и вернет нам совсем не то что мы ожидаем увидеть

Nikolay
30.06.2016
19:31:13
кстати, как дефолт скоуп навесить?

Google

Nikolay
30.06.2016
19:31:46
а то я вечно это все в контроллере решаю

Andrey
30.06.2016
19:31:53
class Camera < ActiveRecord::Base
default_scope -> { order weight: :desc }
end
в модели он вешается

Nikolay
30.06.2016
19:32:11
камера, говоришь*?_)
дякую

Andrey
30.06.2016
19:32:23
не мой код)

Nikolay
30.06.2016
19:32:27
а
а скоупы пундита меня порадовали, но я пока не понял, как навесить на SomePolicy#show проверку конкретного Some(id: blabla)

Mikhail
30.06.2016
19:48:44
default scope хорош где надо 100% чтобы чтонибудь не попало на всеобщее обозрение

Nikolay
30.06.2016
19:49:22
ну пундитом кеак бы скоупится так чтобы лишнего не увиделось

Mikhail
30.06.2016
19:52:06
ну это если пандитишь. а если канканишь

Nikolay
30.06.2016
19:52:37
канканкан или тот самый. теплы реликтовый?

Andrey
30.06.2016
19:52:58
в пундите ещё можно разделять permitted_attributes, для разных пользователей/ролей

Google

Nikolay
30.06.2016
19:53:30
оу, ты про strong params? а раскажи

Andrey
30.06.2016
19:54:56
в Policy
def permitted_attributes
if @user.admin?
[:email, :password, :password_confirmation]
else
[:email, :password, :password_confirmation]
end
end

Nikolay
30.06.2016
19:55:18
а как их дергать из контроллера?

Mikhail
30.06.2016
19:55:46
есть варианты вообще не юзать стронг параметры.

Andrey
30.06.2016
19:55:47
в User контроллере
def resource_params
super policy(@resource).permitted_attributes
end
в application контроллере
def resource_params(*permits)
params
.require(resources_class.model_name.singular)
.permit(*permits)
end

Nikolay
30.06.2016
19:55:51
я думал обойтись средствами контроллера, но если такие вкусняшкиюю
тоесть вся интересная логика выносится либо в модель либо в пундит, получается
а контроллер остается передастом от вьюшки в модель

Andrey
30.06.2016
19:58:17
в Policy я вынес
да, примерно так

Mikhail
30.06.2016
19:58:34
контроллер это роутер логики какбы. Ничего туда пихать не нужно.
пришел реквест. Перенаправили в логику. Получили ответ вернули юзеру

Nikolay
30.06.2016
19:59:09
ээ, так. обьясните идиоту, о каклой логие идет речь в модели а в какой - в контроллере

Mikhail
30.06.2016
19:59:18
как напишешь
такая и логика

Nikolay
30.06.2016
19:59:54
нэ, ну наговнячить можно и положив весь метровый лом на мвц.. но я как бы про гууд практицес..

Mikhail
30.06.2016
19:59:58
по канонам в контроллере же писать ничего не надо. реквест эндпоинт

Nikolay
30.06.2016
20:00:11
т.е модель - бизнес логика

Mikhail
30.06.2016
20:00:27
Он только принимает решения что делать с пришедшим запросом и какой отправить ответ

Nikolay
30.06.2016
20:00:36
а контроллер - если бизнес логика сказала фейл - ну, чувак, перерисовывай - у тебя валидация того..

Google

Nikolay
30.06.2016
20:00:45
получается так?

Mikhail
30.06.2016
20:01:09
да. Логика говорит "ух фейл" и контроллер смотри что делать в этом случае
но он ничего не создает
он только роутит

Nikolay
30.06.2016
20:01:47
тоесть пнуть метод от модели, и выслать во вьюшку фейлы модели, получается

Mikhail
30.06.2016
20:02:22
по идее да.
монолитный мвц по заветам любимого ДХХ подразумевают пихать все в модель

Nikolay
30.06.2016
20:02:52
спасибо

Mikhail
30.06.2016
20:02:54
а если есть дубляж в моделях то в консерн

Andrey
30.06.2016
20:03:00
с сферическом варианте в вакууме так и должно быть

Mikhail
30.06.2016
20:03:14
а все преобразования вьюшки в хелперы
получается гавно)

Nikolay
30.06.2016
20:03:22
так

Mikhail
30.06.2016
20:03:23
????

Andrey
30.06.2016
20:03:31
ну мне консерны вкатили

Nikolay
30.06.2016
20:03:35
посоны, почти полночь. пора конец работы ))
игрушки пиво бабы спать ))

Mikhail
30.06.2016
20:04:08
Мне вообще жирные модели не вкатили. но у нас есть 100500 паттернов
юзай и разбивай логику

Nikolay
30.06.2016
20:04:23
я тут риально обогащаюсь знаниями, местами даже круче фринолного рельсо канала

Google

Mikhail
30.06.2016
20:05:22
но чтобы дозреть до чего то более разнообразного надо пропыхтеть не один год.
У меня только начался этап созревания, что гавно месить тяжело рельсовое и надо чето делать

Nikolay
30.06.2016
20:06:04
ну я вот хочу сделать жту свою панельку хостинга

Mikhail
30.06.2016
20:06:04
http://trailblazer.to/
вот от сюда начал

Nikolay
30.06.2016
20:06:11
потом хочу сделать ее как енжин
чтобы модульно

Mikhail
30.06.2016
20:06:31
а я вообще не вижу смысла в панельке хостинга
зачем админу панелька

Admin
ERROR: S client not available

Mikhail
30.06.2016
20:06:41
когда у него есть консолька

Nikolay
30.06.2016
20:06:43
клиентам, блин

Andrey
30.06.2016
20:06:46
что бы пришли не админы
и сделали

Nikolay
30.06.2016
20:06:49
КЛИЕНТАЯМЯ

Mikhail
30.06.2016
20:06:56
клиентов дело деньги админам перечислять

Nikolay
30.06.2016
20:07:01
ненене
админам клиентов. оок
или секретарше клиента
вот реальный кейс кстати

Google

Mikhail
30.06.2016
20:07:24
мне тут vps пришла с панелькой от IHC
тупил как логи в рельсе посмотреть
тачпед юзать надо
жесть
потом забил и подключился по ссх

Nikolay
30.06.2016
20:07:58
Миш, мы с тобой сегодня так по рабочим вопросам и не связались

Mikhail
30.06.2016
20:07:58
и все хорошо)
Пока не спрашивал еще

Nikolay
30.06.2016
20:08:13
пни меня завтра или в субботу )

Mikhail
30.06.2016
20:08:14
я помню
моего клиента не было в сети

Nikolay
30.06.2016
20:08:26
ну ок
яб посмотрел чо у вас как

Mikhail
30.06.2016
20:08:53
там надо все на докеры перевести. Если им нужно я передам контакт

Nikolay
30.06.2016
20:09:16
ну надо смотреть и думать, чо как
пошло я в стелларис гаматься.
who are u?

Антон
30.06.2016
20:17:17
Respond!

Mikhail
30.06.2016
20:22:47
в стиме та распродажа
скидки

Nazar
30.06.2016
20:31:01
Друзья, подскажите, для чего эти теги
<!-- Social: Facebook / Open Graph -->
<meta property="og:type" content="article">
<meta property="article:author" content="Heiswayi Nrird">
<meta property="article:section" content="">
<meta property="article:tag" content="dummy content">
<meta property="article:published_time" content="2016-06-10 00:00:00 +0000">
<meta property="og:url" content="http://heiswayi.github.io/thinkspace/thinkspace/2016/how-to-download-or-use-this-theme/">
<meta property="og:title" content=" Here is How to Download/Use This Theme | Thinkspace ">
<meta property="og:image" content="http://heiswayi.github.io/thinkspace/thinkspace">
<meta property="og:description" content=" Here is How to Download/Use This Theme ">
<meta property="og:site_name" content="Heiswayi Nrird">
<meta property="og:locale" content="en_US">