@rubylang

Страница 1151 из 1684
Fedor
01.08.2017
08:21:25
кстати еще: #config/environments/production.rb config.assets.js_compressor = :uglifier config.assets.compile = false # config/initializers/assets.rb Rails.application.config.assets.paths << Rails.root.join('node_modules') Rails.application.config.assets.precompile += %w[ckeditor/*]

Nikita
01.08.2017
08:21:36
@FedorKoshel пробовал

Evgeny ой лол, там и плагины все едут

что за жесть

Google
Evgeny
01.08.2017
08:28:24
Потому что надо все файлы в папке ckeditor и в подпапках переименовывать)

Щас мб на коленке сделаю скрипт тебе

Nikita
01.08.2017
08:28:51
та думаю щас разберусь

Evgeny
01.08.2017
08:29:58
я просто указывал Dir путь, потом файлы split по точкам, удаляем середину и оставляем только просто имя и расширение, ну и всякие png не трогать кончено

Nikita
01.08.2017
08:34:52
да просто странно то

что на локалке норм скомпилилось

хотя не уверен

а не, тоже криво

короче, походу я понял в чем проблема была

если я сейчас разберусь, то скажу окончательно точно

короче рассказываю, что было

в общем, у меня на хосте не было yarn, и соответственно вэбпаковские ассеты не компилились, я решил это костылем, пушил на гит только ассеты вэбпака, но когда я запускал компиляцию ассетов на хосте - оно выдавало мне ошибку, что нет ярна и абортило рейк таску, но суть в том, что после обычной компиляции и компиляции через ярн, следовала таска цкэдитора, которая делает, примерно следующее: cp -p /home/hosting_niks123123/projects/langlab/llab/public/assets/ckeditor/lang/nb-417c36580d83c1d82e99cd24f425379aa2fc231e803d6cb87f211da841af2fe0.js.gz /home/hosting_niks123123/projects/langlab/llab/public/assets/ckeditor/lang/nb.js.gz cp -p /home/hosting_niks123123/projects/langlab/llab/public/assets/ckeditor/lang/sq-4b28d54f3113115f88a2dcea1f2baa6103106c74bc788cdc8688680a45a24969.js /home/hosting_niks123123/projects/langlab/llab/public/assets/ckeditor/lang/sq.js

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

Google
Александр
01.08.2017
09:15:40
ну это неверно, зависимости не должны искаться при перекомпиляции ассетов

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

Nikita
01.08.2017
09:17:46
суть в том, что просто вряд-ли из-за чего то может произойти аборт компиляции обычных ассетов

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

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

и да, из коробки

Di
01.08.2017
09:50:27
Народ, подскажите как лучше решить такую задачу: Есть модель "набор айтемов", у нее has and belongs to many айтемы. Нужно чтобы когда набор айтемов меняется (удаляются или добавляются айтемы в набор) сравнивать старый набор и новый. Пробовал коллбек before_save, но не, не вышло.

Eugene
01.08.2017
09:50:39
Так ребята, голосуем yopp, ojab, @davydovanton пишем мне или в этот чат с реплаем мне и нужным человеком. Если есть еще кандидатура предлагаем тоже реплаем или в личку. Голосование до 3 МСК.

Anton
01.08.2017
09:54:41
Спасибо! Но я так и не понял на что голосование, лол

Fedor
01.08.2017
09:58:20
выбранного мы съедим!

Anton
01.08.2017
10:00:02
на человека месяца, ну
А в купальнике фотографироваться придётся?

v
01.08.2017
10:00:42
А в купальнике фотографироваться придётся?
придется выложить код из приватных репо на гитхабе. MWA-HA-HA

Google
Nikita
01.08.2017
10:02:11
@Eugene_Shved ты бы с хештегом просил голосовать)

@FedorKoshel ты бы мог предположить, что проблема будет в том, в чем была?

Fedor
01.08.2017
10:05:39
@FedorKoshel ты бы мог предположить, что проблема будет в том, в чем была?
не, я вебпаком вообще не пользуюсь и стараюсь держаться подальше от фронтенда

но я мог предположить что проблема в общем со сборкой ассетов, и собственно так и сказал )

Nikita
01.08.2017
10:06:13
ну суть то в том, что загоняют проект и нужно сделать проект

там не очень получается диктовать

Fedor
01.08.2017
10:06:56
это печально

Nikita
01.08.2017
10:07:28
мне бэк тоже более симпатичен

но что поделать

Ilya
01.08.2017
10:17:54
это печально
Кто ж ckeditor в спрокеты добавляет? Как вы его готовить будете если он требует прямого адреса к своим плагинам. Божечки. Вы стреляете себе в ногу. Не надо так.

Fedor
01.08.2017
10:22:02
ну у меня проблем нет пока, все нормально работает

Ilya
01.08.2017
10:25:18
Оке. Рад за вас. Плагины тоже компилите? Или с сайта одним пакетом всю эту дрянь качаете?

v
01.08.2017
10:26:17
гем ckeditor

Fedor
01.08.2017
10:26:30
ага

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

а вот css он сам тянет

напрямую

Google
Nikita
01.08.2017
10:26:51
все компилится само

v
01.08.2017
10:27:11
зетичер каквсигда

Ilya
01.08.2017
10:28:31
Боюсь представить размер вашего бандла. Но главное вам нравится.

зетичер каквсигда
Не уместно. Я все по делу пишу

Nikita
01.08.2017
10:29:28
бандла?

ты серьезно считаешь, что 1 гем того же цкэдитора критично отобразиться на бандле?

Admin
ERROR: S client not available

v
01.08.2017
10:30:08
Не уместно. Я все по делу пишу
по делу можно по разному писать. Можно как нормальные люди, а можно - как это делает зетичер, хехехехе

Ilya
01.08.2017
10:30:40
Это ваше оценочное суждение. Остановитесь

v
01.08.2017
10:30:53
*задумчиво смотрит*

Fedor
01.08.2017
10:31:38
ну можно не тянуть из бандла, а подключать из CDN

геморроя, как по мне больше получается

хотя я как-то нашел плагин с математикой весом 680 мегабай )))

правда поотом просто нашел другой плагин

Ilya
01.08.2017
10:45:23
правда поотом просто нашел другой плагин
1) CKEditor как и любой редактор это vendor решение. Вы можете выбирать множество способов его установки. В том числе через гемы. Но тогда вы усложняете себе жизнь, тк фактически полагаетесь на малоизвестного поставщика, который упаковал этот вендор как ему это было удобно и не факт, что вы не столкнетесь с кейсами, которые не предусмотрены в рамках этого гема. 2) CKEditor это JS решение. Довольно объемное. Включать его в манифест и компилить с остальными JS-ами не целесообразно. Вы раздуваете свой конечный бандл, ассет, не важно как вы его называете. И грузите свой JS вместе с огромным CKEditor. Это так себе подходик. 3) Целесообразно ставить CKEditor оригинальными средствамии. Те в современных реалиях через Yarn. 4) Доступ к коду редактора в каталоге node_modules в всегда легко получите из public каталога рельса, если в public прсто сделаете символическую ссылку. Так вы полностью избавляетесь от лишнего гема в проекте и вообще кода CKEditor в проекте. Он будет ставится через Yarn на этапе установки node либ. 5) Имея standalon CKEditor легко вызывать и настраивать его именно на нужных страницах проекта и грузите его не блокируя страницу загрузкой много-сотне-килобайтного CKEditor. Профит использования standalone CKEditor почти со всех сторон. А какая ваша практика?

pny
01.08.2017
10:59:08
Не использовать ckeditor

Nikita
01.08.2017
11:01:58
tl;dr

Ilya
01.08.2017
11:02:47
Не использовать ckeditor
Это не вариант. Он объективно хорош для конечного пользователя в ряде типов систем

tl;dr
In short. Надо решать задачу исходя из рациональных предпосылок

Nikita
01.08.2017
11:04:58
так он идеально подходит для своих задач

Google
Nikita
01.08.2017
11:05:02
имеется огромное кол-во плагинов

Vsevolod
01.08.2017
11:24:47
Привет. Кто знает, как переопределить ассоциацию для активрекорда в rails консоли?

Антон
01.08.2017
11:35:03
class Object < AR переоперделяем конец

Vsevolod
01.08.2017
11:39:46
Нет, так не работает :'(

Ilya
01.08.2017
11:43:26
user = User.first user.posts # Anton's solution user = User.first user.posts После переопределения переменную перезагружал?

Антон
01.08.2017
11:48:37
Vsevolod
01.08.2017
11:49:38
class Invoice < ApplicationRecord belongs_to :user, unscoped: true end puts Invoice.includes(:user).to_sql # SELECT "invoices".* FROM "invoices" ORDER BY created_at DESC class Invoice < ApplicationRecord belongs_to :user, unscoped: false end puts Invoice.includes(:user).to_sql # SELECT "invoices".* FROM "invoices" ORDER BY created_at DESC

ojab
01.08.2017
11:50:11
А что надо получить-то?

Vsevolod
01.08.2017
11:52:28
unscoped: false должен при includes добавлять JOIN

Ну ладно.. задача уже снялась. Пусть будет N+1 запросов. Это всё-равно консоль

ojab
01.08.2017
11:53:52
в рельсах у belongs_to нет опции unscoped http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to

если нужен JOIN — юзай .eager_load(:user)

v
01.08.2017
11:54:46
кек

ojab
01.08.2017
11:55:17
(ну или .joins(:user), ага)

Vsevolod
01.08.2017
11:57:24
Ну я не прочь в это поверить. Но unscoped - работает. Надо поискать почему тогда. Да - eager_load отличное решение. Joins не подойдёт, потому что я потом работаю с объектами: invoice.user.name - он на это тогда отдельные запросы делает

Fedor
01.08.2017
11:57:48
а чем includes не нравится?

1) CKEditor как и любой редактор это vendor решение. Вы можете выбирать множество способов его установки. В том числе через гемы. Но тогда вы усложняете себе жизнь, тк фактически полагаетесь на малоизвестного поставщика, который упаковал этот вендор как ему это было удобно и не факт, что вы не столкнетесь с кейсами, которые не предусмотрены в рамках этого гема. 2) CKEditor это JS решение. Довольно объемное. Включать его в манифест и компилить с остальными JS-ами не целесообразно. Вы раздуваете свой конечный бандл, ассет, не важно как вы его называете. И грузите свой JS вместе с огромным CKEditor. Это так себе подходик. 3) Целесообразно ставить CKEditor оригинальными средствамии. Те в современных реалиях через Yarn. 4) Доступ к коду редактора в каталоге node_modules в всегда легко получите из public каталога рельса, если в public прсто сделаете символическую ссылку. Так вы полностью избавляетесь от лишнего гема в проекте и вообще кода CKEditor в проекте. Он будет ставится через Yarn на этапе установки node либ. 5) Имея standalon CKEditor легко вызывать и настраивать его именно на нужных страницах проекта и грузите его не блокируя страницу загрузкой много-сотне-килобайтного CKEditor. Профит использования standalone CKEditor почти со всех сторон. А какая ваша практика?
я вообще не использую ноду и yarn, и мне хорошо

Vsevolod
01.08.2017
11:59:49
В ассоциации в коде написано: belongs_to :user, unscoped: true, который вырезает includes :D В 5ых рельсах его уже выпилили. А в 4х есть ещё такой аргумент

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