@rubyschool

Страница 328 из 921
Vladimir
29.08.2017
21:41:24
видимо только это
Ok. Спасибо. Основа Gtk это хорошо ;) Пилить новое я ещё не силён...

Google
spartakusQ
29.08.2017
21:50:22
а подскажите, если у меня есть верха знаний и общие понятия HTML, CSS и JavaScript есть ли смысл браться за vuejs

Vitaliy
29.08.2017
21:52:59
А потребность в нем есть?

По себе я так скажу — имеет смысл браться за все, что кажется интересным. Наработанный опыт ценен.

spartakusQ
29.08.2017
21:58:47
Alex
29.08.2017
21:59:19
а что можно иметь ввиду говоря про наработанный опыт?

тут вроде нету двусмысленности

spartakusQ
29.08.2017
22:00:01
тут вроде нету двусмысленности
у каждого свои мысли по этому поводу

Vitaliy
29.08.2017
22:00:16
Ну как-то, да :) Изучил что-то, понравилось — получил опыт. Не понравилось — тоже получил опыт. В любом случае он пригодится.

И если что-то интересно — не вижу смысла избегать этого чего-то.

Ya
29.08.2017
22:10:36
а подскажите, если у меня есть верха знаний и общие понятия HTML, CSS и JavaScript есть ли смысл браться за vuejs
The official guide assumes intermediate level knowledge of HTML, CSS, and JavaScript. If you are totally new to frontend development, it might not be the best idea to jump right into a framework as your first step - grasp the basics then come back! Prior experience with other frameworks helps, but is not required. Так что руки в ноги :)

Google
Denis
29.08.2017
23:11:38
Привет подскажите литературу или ссылки полезные по Rspec для начинающего тестера руби знаю на уровне 30 урока rubyschool (нужно срочно автоматизировать тест для интервью)

Vladimir
29.08.2017
23:17:43
Nikolay
30.08.2017
07:15:44
Всем доброе утро. Сталкивался ли кто-нибудь с загрузкой картинок на сервер через markdown редакторы? Куда копать хоть

Fedor
30.08.2017
07:31:39
Ты про ckeditor и ему подобные?

если использовать гемы, то там обычно есть интеграция с carrierwave или paperclip

Nikolay
30.08.2017
07:33:08
пока нагуглил связку redcarpet + paperclip

redcarpet парсит markdown разметку

Fedor
30.08.2017
07:34:04
если писать самостоятельно, то надо такую интеграцию делать самому. По сути редактор отправляет на сервер POST запрос с кучей данных, которые потому сериализуются в модель и сохраняются в базу. В каком виде приходят эти данные можно посмотреть в консоли, просто засабмитив что-то из редактора.

Nikolay
30.08.2017
07:34:10
Ты про ckeditor и ему подобные?
это наверно целый html редактор, а мне markdown

Fedor
30.08.2017
07:34:18
да какая разница

Nikolay
30.08.2017
07:34:36
ну да

Fedor
30.08.2017
07:34:40
чисто форматы отличаются, сервер в любом случае получит обычный POST запрос

ну вот надо научиться находить в запросе картинки, которые редактор завернет в какой-нибудь params[:images] = []

и сохранять их в модель, при помощи carrierwave/paperclip, или просто вручную

я бы создал отдельную модель image и связь record has_many :images, что бы можно было много картинок хранить без особоых проблем с архитектурой

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

Nikolay
30.08.2017
07:37:07
хорошо, попробую. спасибо!

Denis
30.08.2017
07:45:36
Рубаны, вопрос по js от нубаса: Есть код, который выводит диалог подтверждения в случае, когда пользователь кликает на сохранить или назад кнопки. https://pastebin.com/Zg696pQT Как обернуть его так, чтобы он всплывал только в случае, если поле было изменено, а если нет, то действие происходило без диалога?

Fedor
30.08.2017
07:48:11
Простейший варинат сделать hidden input c названием form_changed, и на все поля формы тригер повесить onChange() { function() { form_cahnged.value = true}}

и потом при выводе диалога ифом проверять это

Google
Denis
30.08.2017
07:50:09
:( не совсем понимаю, что ты написал - говорю же - нубас

Fedor
30.08.2017
07:54:31
хм...

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

правда на чистом js, не переношу кофескрипт

Denis
30.08.2017
07:56:38
https://pastebin.com/jrUUbzwA Поле коммент.

Fedor
30.08.2017
07:58:05
это типа инпут такой?

а, все нашел

Denis
30.08.2017
07:59:03
Точнее вот вся едит форма: https://pastebin.com/ZHZS1gg9

Fedor
30.08.2017
08:04:17
ну вот добавляешь в форму hidden_field(:form_changed, :value => false) и в js пишешь: $('#comment').on('change', function() { $('#form_cahnged').val(true) })

id-шники другие будут, посмотри, какие там рельса сгенерит при рендере

и теперь в $.rails.showConfirmDialog = (link) -> return if $('#form_changed').val() == false

строку добавить надо

Fedor
30.08.2017
08:06:13
как итог, при изменении коментария, изменится значения hidden поля

и если оно true то диалог отобразится, а если false - нет

Denis
30.08.2017
08:07:45
Счс попробую

Dmitry
30.08.2017
08:38:08
*! ! !* https://www.ruby-lang.org/en/news/2017/08/29/multiple-vulnerabilities-in-rubygems/ *! ! !*

https://github.com/rubysec/bundler-audit

Nikolay
30.08.2017
09:40:31
да какая разница
а можешь посоветовать какой либо гем для wysiwyg?

Vitaliy
30.08.2017
09:42:02
Fedor
30.08.2017
09:42:03
ckeditor, tinymce

Google
Fedor
30.08.2017
09:42:12
под оба есть гемы

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

и скорее всего он есть

если нет - можно написать ))) тебе спасибо скажут

Nikolay
30.08.2017
09:42:55
хотят драг энд дроп картингк

спасисо, щас погляжу эти

Fedor
30.08.2017
09:50:09
у ckeditor есть кучи плагинов

в том числе и с dnd картинкаим были

Admin
ERROR: S client not available

Vitaliy
30.08.2017
11:50:46
хотят драг энд дроп картингк
Подтверждаю, делал в CKEditor такое. Вот мой форк: https://github.com/gambala/ckeditor, а вот пример его использования с конфигами: https://github.com/gambala/gambala/blob/7f60cc041d0d6bf761a6e352ac3be4a6bf7dcf95/app/assets/javascripts/ckeditor/config.coffee

Olga
30.08.2017
11:55:49
запуталась(( как найти путь куда установился гем ?

Fedor
30.08.2017
11:56:18
bundle show gem

Radzhab
30.08.2017
12:11:56
с этим ckeditor столько проблем было в свое время

Nikolay
30.08.2017
12:40:14
Подтверждаю, делал в CKEditor такое. Вот мой форк: https://github.com/gambala/ckeditor, а вот пример его использования с конфигами: https://github.com/gambala/gambala/blob/7f60cc041d0d6bf761a6e352ac3be4a6bf7dcf95/app/assets/javascripts/ckeditor/config.coffee
благодарю. Вообще в проекте использовался markdown для полей description и загрузка картинок на сервер не работала никогда, а здесь захотели. Во всем проекте, ломаю голову как лучше сделать и как эти прикрепленные файлы лучше хранить

Vlad
30.08.2017
12:45:21
Посоветуйте гем для рейтинга. Простой какой-нибудь, надо впилить срочно, нет времени свое написать. raterate неплохой, но там привязка к модели User для рейтинга, а необходимо чтобы к UserAgent или по cookies+ip типа того

Vitaliy
30.08.2017
12:46:28
благодарю. Вообще в проекте использовался markdown для полей description и загрузка картинок на сервер не работала никогда, а здесь захотели. Во всем проекте, ломаю голову как лучше сделать и как эти прикрепленные файлы лучше хранить
Я бы так сделал 1. Завел модель Image 2. Контроллер для аплоада одиночного файла. Он бы сохранял изображение в модель и мог бы выдать url изображения на сервере 3. Внутри контроллера в format.js отдавал бы js.erb скриптик, копирующий url изображения в буфер обмена 4. Рядом с маркдаун редактором разместил бы кнопку, вызывающую модальное окно 5. В модальном окне форма для аплоада изображения, remote: true (чтобы при аплоаде страница не перезагружалась). В итоге жмем на эту кнопку, аплоадим картинку и в буфере обмена оказывается ссылка на нее. Ссылку вставляем в маркдаун куда надо.

Как вариант, можно не копировать ссылку в буфер обмена сразу, а показывать ее вместо формы аплоада в том же модальном окне. И человек пусть уже сам ее выделяет и копирует, закрывает модальное окно и вставляет в маркдаун

Плюс написать rake задачу, которая раз в неделю будет запускаться и проверять, для всех картинок старше дня с момента загрузки, есть ли на них ссылки где-то в маркдаун текстах. Если нет - удалять картинки (они, очевидно, были загружены, но нигде в маркдауне не использовались).

Nikolay
30.08.2017
12:51:43
серьезно, спасибо, буду разбираться

Vitaliy
30.08.2017
12:52:30
Либо вместо собственного велосипеда можно заюзать uploadcare

Google
Vitaliy
30.08.2017
12:53:04
облачный сервис, придется платить за него, конечно, но зато будет готовый js виджет, который просто можно будет вставить на сайт рядом с маркдаун редактором, и пользоваться

Nikolay
30.08.2017
13:08:53
Хорошо. А еще вот проблема возникла. Делал текстовое поле, а потом его в модели сериализовал в массив. И далее в модели у меня метод инициализирует там значения при создании нового объекта. Но понадобилось применить это и к старым, можно как-нибудь это в миграции теперь сделать?

вот смотрю код, вижу делают временную модель в миграции

Denis
30.08.2017
13:44:07
Рубаны, а есть способ рендерить ерб-паршл из js.coffee расположенного в assets? Я сам ни разу не видел, чтобы так делали, но мне пытаются доказать, что так можно сделать, не используя при этом jst-шаблоны

Nikolay
30.08.2017
13:57:32
Vitaliy
30.08.2017
13:58:56
а у этого есть название? как гуглить
rails data migrations + есть гемы для этого, например https://github.com/ilyakatz/data-migrate

А нет примера?
Есть сниппет, в одном из старых проектов я рендерил slim темплейты в ассетсах для ангуляра 1.5 https://www.notion.so/slim-sprockets-693fb55d87b34c12aeee288e97e995e3

Denis
30.08.2017
14:08:23
тот код, который утром с тобой обсуждали, а именно кусок html (модалкьа) босс хочет, чтобы я вынес в паршиал. сам он так попробовал и у него ничего не вышло, теперь говорит - занимайся этим сам и сделай его универсальным

Fedor
30.08.2017
14:10:22
Эм...

Ну и вынеси

И инклюдь его в другие шаблоны

Зачем в жс то?

В каком нибудь основном шаблоне делаешь внизу render :modal_dialogs и все

Dmitry
30.08.2017
14:20:14
там кстати я залил инстаграмбота своего на watir тут кому то интересно было глянуть.

https://github.com/dmitryfry/instabot_with_watir

там правда не причесано ничего пока, но общий смысл думаю понятен будет )

Nikolay
30.08.2017
15:16:27
в итоге вот что у меня вышло, кому интересно https://pastebin.com/u1jcaURk

Страница 328 из 921