
Evgeniy
29.01.2017
12:04:18
90 ₽ если не повысилось
Dima можешь в личку, а то вдруг забанят ?

Dima
29.01.2017
12:06:06
если будут вопросы

skynet
29.01.2017
16:54:57
ребят всем привет) как настроить devise чтобы только current_user смог создавать/редактировать/удалять только собственные задачи? подскажите?

Google

Dima
29.01.2017
16:55:19
я не юзал девайс

Felix
29.01.2017
16:55:24
у задачи хранить user_id

Dima
29.01.2017
16:55:32
но быть может pundit тебе поможет

Felix
29.01.2017
16:55:36
и соответственно сделать валидацию :)

skynet
29.01.2017
16:59:28

Felix
29.01.2017
17:00:07
pundit в этой задаче из пушки по воробьям

Dima
29.01.2017
17:01:16
во первых, этот пандит крайне легковесен
во вторых, проект скорее всего будет расти и тогда лучше пандит чем парсить сотенку строк

Felix
29.01.2017
17:04:22

Dima
29.01.2017
17:05:28
код на разрешение/запрещение/доступ к данным скорее всего будет расти. Зачем переизобретать пандит?

Felix
29.01.2017
17:05:34
предлагаю же человеческую валидацию
если только для этого

Google

Felix
29.01.2017
17:05:42
а так да, пандит
или канкан

Dima
29.01.2017
17:06:48
канканкан решает тоже самое, но я хипстер и скорее предпочту пандит

Philipp
29.01.2017
17:24:06
Пандит минималистичнее как то

Dima
29.01.2017
17:24:49
проще.

Philipp
29.01.2017
17:24:52
+ почти никакого DSL

Evgeniy
29.01.2017
17:35:05
А просто в контроллерах отталкиваться от пользователя недостаточно?
ребят всем привет) как настроить devise чтобы только current_user смог создавать/редактировать/удалять только собственные задачи? подскажите?

Dima
29.01.2017
17:35:50

Evgeniy
29.01.2017
17:38:33
current_user.items.find/new не намного сложнее вроде бы

Felix
29.01.2017
17:39:18
скоупы, Карл
пандит сюда как нельзя лучше вписывается

Evgeniy
29.01.2017
17:41:25
Пандит хорош конечно, но для озвученной задачи вовсе не обязателен, как по мне

Dima
29.01.2017
17:42:23
задача ожидаемо будет развиваться вместе с проектом.
и это не такая уж ужасная преждевременная оптимизация
просто потом меньше кода переписывать.

Dima
30.01.2017
05:45:22
Когда используется assets pipeline - он все js склеивает в один?
всегда ли проходит этап concatination

Alex
30.01.2017
06:27:48
у тебя в js есть @import или require
потому оно и склеивается в один.

Google

I
30.01.2017
06:29:00
да, можно во много разных поклеить

Alex
30.01.2017
06:29:04
так что не обязательно, можно настроить чтобы и несколько файлов было

I
30.01.2017
06:29:10
один для обычного юзера
один для админа
к примеру

Dima
30.01.2017
06:38:48

Alex
30.01.2017
06:39:20
вроде это связано с precompiled_assets
Я не помню уже как отдельные js'ки делаются.

Dima
30.01.2017
06:39:49
один для обычного юзера
мы ведь можем дергать файлы по одному используя AssetsTagHelper. Мне вот интеерсно как он скрипты нарезает.

I
30.01.2017
06:40:39
что значит "нарезает"?

Dima
30.01.2017
06:40:50

I
30.01.2017
06:41:23
никто ничего не нарезает
сделай assets:precompile и увидишь все, что есть на выхлопе

Dima
30.01.2017
06:41:45
и footer и header и вообще все файлы, а данная директива зовет какой-то один файл
сейчас разберемся.

I
30.01.2017
06:42:47
конкретно этот метод работает иначе

Dima
30.01.2017
06:42:47
на коде.

I
30.01.2017
06:42:52
у него явно написано

Dima
30.01.2017
06:43:03

I
30.01.2017
06:44:17
какой враппер?

Google

I
30.01.2017
06:44:24
зачем?
он берет файл из ассетов и инклудит его

Dima
30.01.2017
06:44:43
какой враппер?
каждый из склееных файлов внутри большого файла в что-то обернут
и зовется вот эта обертка

I
30.01.2017
06:44:50
хочешь еще один файл создать - просто создаешь и делаешь require

Dima
30.01.2017
06:45:06

I
30.01.2017
06:46:54
так

Admin
ERROR: S client not available

Dima
30.01.2017
06:46:57
в view написано: javascript_include_tag("footer")
Что происходит?
а) как-то раздербанивается большой склееный файл
б) javascript_include_tag("footer") - вообще срабатывает на уровне сервера, и на клиенте ничего не происходит

I
30.01.2017
06:47:59
никто не раздербанивается
=/

Dima
30.01.2017
06:48:07

I
30.01.2017
06:48:10
берется твой footer.js и суется тебе на выход

Dima
30.01.2017
06:48:16
отлично
откуда береться?

I
30.01.2017
06:48:32
из assets/javascripts
в описании функции все написано

Google

Dima
30.01.2017
06:48:56
а что значит берется?
посылается запрос на сервер www.mysite.com/public/assets/javascript/footer.js

I
30.01.2017
06:49:30
нет
это код на сервере
а не на клиенте

Dima
30.01.2017
06:49:51
это понятно
что это код на сервере
но во что он трансформируется
на клиент.
что написано про assets pipline: compliateion=>concatination=>minification

I
30.01.2017
06:51:18
прогоняется через соответствующий precompiler, если он имеется
да, потом конкатенируется
а потом сжимается

Dima
30.01.2017
06:51:37
ну правильно
т.е. если у нас есть 3 файла header.js action.js footer.js => app.js вот что знаит конактинация

I
30.01.2017
06:52:10
да

Dima
30.01.2017
06:52:15
и уже этот app.js приходит на клиент

I
30.01.2017
06:52:29
а когда у тебя написано footer.js у тебя берется только твой footer.js

Dima
30.01.2017
06:52:31
1 запрос а получаем мы 3 фала склееные в оедино
он может inline встраиваться, а может посывлать запрос на сервер к НЕ КОНАКТИНИРУЕМОМУ фалу