@proRuby

Страница 194 из 1594
Dmitry
17.09.2016
17:28:21
тогда разве не выйдет аналог distinct?

если группировать по conversation_id

Antony
17.09.2016
17:39:40
не совсем

в plain sql что-то вроде `select conversation_id from conversation_users where user_id in (<users>) group by conversation_id having count(distinct user_id) = <users.size>`

Google
Dmitry
17.09.2016
17:57:32
но ведь пользователь может быть в беседе с другими людьми на то же число

подобное я решил через кучу джоинов на юзера: SELECT * FROM conversation_members as c1 join conversation_members as c2 on c1.conversation_id = c2.conversation_id AND c2.user_id = 2 join conversation_members as c3 on c2.conversation_id = c3.conversation_id AND c3.user_id = 3 WHERE c1.user_id = 1 GROUP BY(c1.conversation_id) но это уже страшно видимо)

Anatoly
17.09.2016
20:20:18
Ребят, а вот с вьюхой есть js'ка, но js-ка начинает отрабатывать раньше, чем отрендерится вьюха. Ну вот почему так то? (

v
17.09.2016
20:23:05
потому что надо использовать document.ready?

Anatoly
17.09.2016
20:26:21
Ох уж этот Rails way

abc
17.09.2016
20:40:47
это к rails way не имеет отношения от слова вообще

Anatoly
17.09.2016
20:59:04
Проблема то в том, что эти js-ки от вьюх грузятся с самого начала и даже когда данная вьюха неотрендерена

это разве не проблема?

Anatoly
17.09.2016
21:00:13
причем тут низ бади то?

Lupsick
17.09.2016
21:00:38
причем тут низ бади то?
Потому что жс твой отрабатывается по загрузке

Если он первый загрузился то первый и заработает

Google
Anatoly
17.09.2016
21:01:03
компонент не отрендерен если, хоть куда засунть

в жске обращаюсь к элементам, которые рендерит компонент

как вообще это по правильному решается?

Lupsick
17.09.2016
21:05:58
как вообще это по правильному решается?
Если ты что-то делаешь с динамическим компонентом то жди пока он конкретно и отренлерится

В жс есть какие то методы на этот случай

Еще можно сделать сеттаймаут

Anatoly
17.09.2016
21:08:04
В приличном обществе за setTimeout 0 бьют ногами по лицу, о чем вообще речь.

Lupsick
17.09.2016
21:08:29
Anatoly
17.09.2016
21:08:45
Какой у меня код? )

Есть способ добавлять отдельно конкретный жс к конкретной вьюхе

Но это неудобно

Lupsick
17.09.2016
21:09:24
Какой у меня код? )
Где жс начинает работать раньше вьюхи

Anatoly
17.09.2016
21:09:43
Так в том то и вопрос, как это избежать?

Lupsick
17.09.2016
21:10:28
Что конкретно не работает и как оно не работает

Anatoly
17.09.2016
21:13:19
Вот есть вьюхи А, B, C. Из вьюхи А можно перейти в B, оттуда в C. Есть A.js, B.js, С.js соответственно. Так вот как сделать так, чтобы A.js, B.js, C.js грузились только тогда, когда выполнен переход на нужную вьюху.

Anatoly
17.09.2016
21:14:37
За тем, что во вьюхе С есть форма, хэлпера которой не хватает, чтобы ее кастомизировать.

Google
Anatoly
17.09.2016
21:15:35
А еще способы на уровне фрейморка есть?

ojab Перечитайте, о чем я написал выше.

ojab
17.09.2016
21:17:02
ojab Перечитайте, о чем я написал выше.
mkay, http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/javascript_include_tag

Anatoly
17.09.2016
21:17:40
ojab А теперь уже пониже )

ojab
17.09.2016
21:18:02
и что там читать?

ставишь javascript_include_tag после формы, js будет грузиться после формы

не?

Anatoly
17.09.2016
21:18:23
Неужели нет на уровне фрейморка каких-то решений?

Так у меня подключаются все скрипты сразу

И теперь мне нужно подключить все остальные отдельно, а этот скрипт добавить к конкретной вьюхи

ojab
17.09.2016
21:18:55
>Так у меня подключаются все скрипты сразу >Так вот как сделать так, чтобы A.js, B.js, C.js грузились только тогда, когда выполнен переход на нужную вьюху.

Lupsick
17.09.2016
21:19:09
Неужели нет на уровне фрейморка каких-то решений?
Что значит на уровне Фреймворка? Чтобы оно тебе жс добавляло в бади прямо?

ojab
17.09.2016
21:19:13
не подключать всё сразу и грузить когда надо, очевидно

Anatoly
17.09.2016
21:19:46
Очевидно, не удобно

v
17.09.2016
21:20:09
тогда проверяй, в наличии ли компонент

Lupsick
17.09.2016
21:20:27
Жс не работает на уровне фреймворка, жс работает на уровне браузера

Anatoly
17.09.2016
21:20:31
А так вообще делают люди то нормальные? )

Lupsick
17.09.2016
21:20:35
И ему похую на твои рельсы

ojab
17.09.2016
21:20:40
Очевидно, не удобно
при подключении сразу всего подряд невозможно добится того, чтобы A.js, B.js, C.js грузились только тогда, когда выполнен переход на нужную вьюху, не?

Anatoly
17.09.2016
21:20:46
*На уровне прекомиляторов ассетов

Google
Anatoly
17.09.2016
21:21:08
ojab Логично

Lupsick
17.09.2016
21:21:14
Lazy load может есть какой то

v
17.09.2016
21:21:17
на уровне прекомпиляторов ассетов все компиляют в один файл

Anatoly
17.09.2016
21:21:27
Понял, спасибо

v
17.09.2016
21:21:47
и если там есть какой-то зависимый от элементов код - проверяют наличие этих элементов

Lupsick
17.09.2016
21:21:52
на уровне прекомпиляторов ассетов все компиляют в один файл
Ну мб каким нибудь гемом можно лейзи лоад сделать

v
17.09.2016
21:22:07
это не уровень прекомпилятора

Anatoly
17.09.2016
21:22:19
Ну сделаю добавление скрипта на страницу, а где все подключается заюзаю stub

Ну данного скрипта

Lupsick
17.09.2016
21:22:30
Чисто теоретически это можно сделать на уровне прекомпилятора

Admin
ERROR: S client not available

v
17.09.2016
21:22:32
0_о

извращения какие-то пошли

Roma
17.09.2016
21:22:51
Lupsick
17.09.2016
21:22:59
Конечно извращения

Можем себе позволить

Хочу сюда жс сую хочу туда

Пхп мешаю с хтмл

Anatoly
17.09.2016
21:24:43
@manaka а как? if (есть ли на странице элемент из данной вьюхи) ...

Roma
17.09.2016
21:26:11
@manaka а как? if (есть ли на странице элемент из данной вьюхи) ...
Естественно, выдай какой-то уникальный айди на проект да и делов

Google
Anatoly
17.09.2016
21:27:48
Да нет, это еще хуже, чем добавить к конкретной вьюхе. Оверхед каждый раз проверять наличие элемента там, где он быть не должен.

Alex
17.09.2016
22:10:52
А как же asm.js

Vitaliy
18.09.2016
03:35:15
Загрузка уникальных скриптов под страницы - это вообще не то, о чем вам нужно беспокоиться. Грузите один общий application.js, вмещающий в себя все скрипты, и работающий на всех страницах со всеми компонентами

В скриптах привязывайтесь не к вьюхе, которая сейчас рендерится (или нет), а к компонентам в DOM, которые могут появляться на любых ваших вьюхах

Используете турболинкс? Оборачивайте скрипты в такие ивенты: $(document).on 'turbolinks:load ajax:success', -> Не используете? Тогда в такие: $(document).on 'ready', ->

Внутри ищите в DOM нужные скрипту компоненты, и продолжайте выполнение скрипта, только если такие компоненты были найдены, хотя бы один: dates = $('.moment-date') return unless dates.length dates.each ->

Amir
18.09.2016
04:38:37
ActiveRecord::RecordInvalid: Validation failed: Parent must exist выдает такую хрень, когда parent_id = nil т.е. когда сущность хочу обновить foo.update field: 123

как с валидации убрать не сообразил, в модели ничего такого нет только описание children и parent

...
18.09.2016
05:18:09
Если совсем не нужны валидации, то можешь воспользоваться foo.update_attribute(:field, 123) - но! во многих кругах этот метод считается злом. Ты случаем не используешь гем Closure Tree?

Добавь к belongs_to :parent, ..., optional: true

Amir
18.09.2016
05:31:20
ок спс, попробую, пока хардкорно на майскл пришлось поменять

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

что за тупость, mysql грохнулся когда ему подсунули Emoji

Rafkat
18.09.2016
08:42:26
> Amir

Плюшка
18.09.2016
08:42:27
tl;dr; MySQL regular UTF8 encoding sucks, you should use UTF8mb4 (or even better, Postgres !)

Rafkat
18.09.2016
08:42:32
А это известная тема

Amir
18.09.2016
08:53:22
т.е. полностью настройки сервера надо перевести на mb4?>

потомучто поменял тип колонки, всеравно не вставляет выдает ошибку

а рельцам знать об этом надо? вроде нет кажеться

Страница 194 из 1594