
Vitaliy
07.06.2017
11:06:30

Смерть
07.06.2017
11:06:38

Vitaliy
07.06.2017
11:07:58
В реакте как раз нравится тема с выносом всего фронтового в файл компонента jsx. А в рельсовой верстке подключаем компонент одной строкой через = react_component 'MyComponent'
И это из коробки отлично работает с турболинками/rails-ujs. Как бонус - сервер-сайд рендеринг компонента одним параметром.

Google

Dima
07.06.2017
11:08:32

Vitaliy
07.06.2017
11:09:38

Dima
07.06.2017
11:09:44
Чем тебя смутили детективы? Там их на много меньше, чем в ангуляре и сделаны они для людей

Vitaliy
07.06.2017
11:09:58
тем, что они есть

Dima
07.06.2017
11:10:11
А что в них плохого?
Разве они не делают шаблоны более декларативными?

Vitaliy
07.06.2017
11:11:15
в моем случае они делают код в шаблонах больше похожим на кашу

Dima
07.06.2017
11:11:25
Тем более там куча невероятно удобных модификаторов
И это избавляет от написания шаблонного кода

Vitaliy
07.06.2017
11:11:46

Dima
07.06.2017
11:13:01
Ну
Как мне кажется да

Vitaliy
07.06.2017
11:14:45
ключевое слово - "кажется" ?

Google

Vitaliy
07.06.2017
11:15:00
а реакт говорит - конечно

Dima
07.06.2017
11:15:58
Я не знаю, есть ли готовые вещи для рельс

Vitaliy
07.06.2017
11:15:58
еще, что нравится в jsx - вместо директив, уникальных для фреймворка - можно писать те же вещи на чистом ES6

Dima
07.06.2017
11:16:08
Я сторонник разделять бэк и фронт
Но после их шаблонов этот жсх трогать ну совсем не хо
Хочется

Vitaliy
07.06.2017
11:17:59
Я сторонник разделять бэк и фронт
а, у нас разные кейсы значит - у меня фуллстековые сайты на рельсах, которым не хватало динамичных веб-компонентов. И реакт ко мне встал как влитой.

Dima
07.06.2017
11:18:52
Я уверен, что можно по тому же принципу, как с реактом, но понятия не имею, есть ли готовые решения, чтобы это работало с рельсами.


Vitaliy
07.06.2017
11:19:00
(если вдруг показалось странным, с чего это в чате начали обсуждать реакты и вью - это с моего последнего поста на канале t.me/gambala_live)
Кстати - заметили сочетание Ruby on Rails и React на скрине выше? Теперь и такое бывает.
С релизом Rails 5.1 и webpacker - стало возможным в кои-то веки писать фронтенд на ES6 и современных js-фреймворках. Я уже опробовал много фич Rails 5.1, и последнюю неделю занимаюсь фронтендом. И он крут.
Конечно, не без сложностей:
1. Webpack - отдельный мир. Рельса подстилает соломку и генерирует надежные development и production-ready конфиги, но если всплывают баги (в third-party плагинах, например) - приходится зарываться в вебпак с головой.
2. CoffeeScript → ES6 - непривычно. Прощай, чистый код на отступах - привет, фигурные скобочки и точки с запятой. Но в итоге - к ним быстро привыкаешь, а нативные возможности ES6 уделывают CoffeeScript на раз-два.
3. React - офигенно. Рельсы как фреймворк закрывают много кейсов в разработке. Но один остается - динамичные веб-компоненты на фронтенде. А у нас в Melp.pro их выходит полсотни. Отказаться от динамики, пожертвовав удобством для пользователей - не наш вариант. И к счастью - реакт эту проблему закрывает.
Если в какой-то момент я запущу курс по веб-разработке на рельсах - отдельной главой в нем однозначно будет современный фронтенд в вебпакере и реакт. Потому что хватит мучиться и писать велосипеды на jquery. Уже сейчас можно писать простой и понятный разработчику, но мощный фронтенд в дополнение к рельсовым server-side-rendered страницам.
Интересная тема?


Dima
07.06.2017
11:19:22
Вью вообще можно подключать как жквери и не терять в функционале
Не для меня, как я писал выше, я сторонник разделить фронт и бэк. Но люди очень радовались интеграции вебпакера, так что тема может быть интересной.
Для себя я решил, что если мне нужна динамика, я просто подключаю вью вместо жевери и кафую. К слову, реакт с его жсх не умеют так из коробки.

Vasiliy
07.06.2017
11:29:29
а зачем юзать гем для реакта?
надо будет попробовать вуй

Mikhail
07.06.2017
11:31:15
Оливер кстати не прошел мимо вуя
https://gorails.com/episodes/tagged/VueJS

Vasiliy
07.06.2017
11:31:30
там кстати создатели react_on_rails выпустили webpacker_lite(это как вебпакер, только без бинстабов и конфиги по максимуму вынесены в жс)

Vitaliy
07.06.2017
12:02:56

Artur
07.06.2017
12:06:15
не нужно, когда у тебя Spa

Google

Nipon
07.06.2017
12:26:19
Народ, хелп.
Как в Administrate убрать поля из вывода в форме, но при этом оставить их в whitelist?
Я про список аттрибутов FORM_ATTRIBUTES говорю.
есть какие-нибудь способы из коробки? или ручками в цикле проверять?

I
07.06.2017
12:27:10
что такое Administate? еще одна админка на рельсах? :c

Nipon
07.06.2017
12:28:30
ага
https://github.com/thoughtbot/administrate

ojab
07.06.2017
14:09:56
чем угодно, смотри бектрейс выше
(в логе)

Denis
07.06.2017
14:10:44
LoadError (Unable to autoload constant Admins::CharacteristicsController, expected
Error during failsafe response: Unable to autoload constant Admins::CharacteristicsController, expected
Понял в чем была проблемма.
Admins::
видимо случайно стер с контролера

Vasiliy
07.06.2017
14:46:54
подскажите советом
нужно чтобы у модели был видос, но это либо файл либо ссылка с ютуба, но в итоге и то и то должно выглядеть как ссылка
как лучше сделать - 2 атрибута - один для файла, другой для ссылки или как-то по другому?

Alexander
07.06.2017
15:00:59
У меня сделано так:
has_one :uploaded_document, dependent: :destroy
has_one :external_link, dependent: :destroy

Alexander
07.06.2017
15:02:22
Атрибута будет два по-любому, но для унификации можно сделать один паблик метод, возвращающий нужную ссылки на видео в зависимости от того, что существует (загруженное видео или ссылка на ютуб)

Антон
07.06.2017
15:06:33

Vasiliy
07.06.2017
15:29:33
спасибо!

Artur
07.06.2017
15:32:12

Кøе-ктø Геннадьевич
07.06.2017
15:32:48
испытал на себе как прекрасен АА для стандартных задач и какую боль вызывает любое отклонение задачи от стандарта
осознал такскзть все сказанное выше про АА

v
07.06.2017
15:40:19

Google

Женя
07.06.2017
16:07:10
Всем привет, Подскажите пожалуйста не могу понять в чем проблема,
связь между моделями has_may, belongs_to
pry(main)> Book.last
id: 27
customer_id: 2,
reader_id: 5,
________________________
User.find(2).book_ids
=> 27
________________________
User.find(5).book_ids
=> [] - а должно быть [27], не пойму почему пустой масив возвращает ? ?(
______
User. rb
has_many :books, foreign_key: :customer_id

kapkapbopoh
07.06.2017
16:10:12
а если User.find_by(reader_id: 5).book_ids

Женя
07.06.2017
16:12:33
Такое не пробовал, минутку и скажу ))
Эх тоже пустой массив ( Но спасибо

ojab
07.06.2017
16:19:35
А почему должно быть 27?
у тебя связь по полю customer_id, reader_id вообще не используется
нужно создать другую has_many с другим foreign_key и по-другому обозвать

Admin
ERROR: S client not available

Женя
07.06.2017
16:21:13
Понял потому что когда использовал has_and_belongs_to_many то все было ок в таких ситуациях

ojab
07.06.2017
16:22:28
ну оно потому и HABTM, что две связи сразу

Lavrushchik
08.06.2017
06:18:49
всем привет.
есть вопрос.
слил один проект, чисто на изучение, сейчас проблема с его развёртыванием.
не совсем понимаю - есть БД на постгресе, бд созданы, но без таблиц. есть файлы миграции, в которых описано же создание таблиц.
как заюзать миграции, чтобы повоссоздавало в бд таблицы?

Кøе-ктø Геннадьевич
08.06.2017
06:19:34
rake db:migrate

Lavrushchik
08.06.2017
06:19:50
ругается
на rake db:migrate ругается

Кøе-ктø Геннадьевич
08.06.2017
06:20:26
Что говорит

Lavrushchik
08.06.2017
06:20:28
да и вообще на другие команды все ругается

Klim
08.06.2017
06:26:19
а есть ли у тебя юзер постгреса?

Lavrushchik
08.06.2017
06:26:45
да, юзер создан
мне в другом канале счас подсказали, проблема в том что грузится активадмин на миграциях

Zulkar
08.06.2017
06:29:07

Google

Vasiliy
08.06.2017
08:51:22
посоны, вопрос по рельсе и carrierwave
я кароч chunky-png генерю картинку и хочу сохранить в mount_uploader
как блять это сделать?
кидаю байты - хуй, пытаюсь байты запихнуть в StringIO - хуй
как сгенерить файл в памяти и отдать в carrierwave?

Adamtsov
08.06.2017
09:17:22
Самый тупой способ , сохранить файл и сделать File.open(filename)

Vasiliy
08.06.2017
09:19:36
это то да, но не очень хотелось бы хранить где-то

Сергей
08.06.2017
09:20:54

Vasiliy
08.06.2017
09:21:14
похоже да, так и придётся

Mark
08.06.2017
09:21:57
paperclip вроде умеет)

Vasiliy
08.06.2017
10:35:50
ребят ещё вопрос
я хочу атрибут модели передавать в функцию
типа
def func(attribute)
# и в функции присваивать значение атрибуту
attribute = val # как тут writer атрибута вызвать?
end

Adamtsov
08.06.2017
10:39:50
self.attribute = val должно работать

Vasiliy
08.06.2017
10:40:09

Adamtsov
08.06.2017
10:40:28
А объект какой?
На чем ты attribute =вызвать хочешь ?

Vasiliy
08.06.2017
10:41:31
ну смотри, у модели есть некий атрибут, я хочу этот атрибут кинуть в сервис класс и там ему присвоить значение

Adamtsov
08.06.2017
10:41:50
объект надо кидать