Возможно как-то по другому это можно сделать. Нужно просто мониторить что интеграция работает, потому что api сторонних сервисом может изменится и об этом нужно знать как можно быстрее.
Это я не полностью описал просто. Есть еще главный класс в который передается название сервиса при инициализации и уже через него используются все остальные классы.
Я нашел в чем проблема. Однf из библиотек(jsdom) использует ключевое слово "const". В Chrome это работает, но в Firefox нет. Я работаю через Chrome, но тесты запускаются в Firefox, поэтому и не мог понять в чем дело. Спасибо большое за помощь.
Да, удалил из application.js. В development никаких ошибок не выдает. Все работает как надо. А вот в test env, тесты просто не находят библиотек, которые в этом большом файле. Выглядит так, как будет этого большого файла в test enviroment вообще нет.
Да, верно. С этим все просто. Но мне же еще и нужно, чтобы ребенок проводил валидацию на основе атрибутов родителя. При том методе, в ребенке не доступен родитель. В любом случае, похоже для этого нет railsway решения. Мое решение, которое я написал в вопросе, работает, но мне оно показалось костыльным, но ничего лучше я так не нашел.
Я хотел использовать для этого nested_attributes, но тогда при создании Project, в Propety он будет не доступен, т.к. сохраняется после, и поэтому валидации в Propety не пройдут.
Это не подходит, нужно именно, чтобы родитель имел как минимум одного ребенка. Например, есть модель Project. В зависимости от типа проекта у него могут быть разные поля. Они хранятся в модели Property. При создании проекта нужно, чтобы эти свойства были заполнены, и в зависимости от типа проекта, они разные. Поэтому при создании проекта нужно, чтобы были обязательно созданы несколько Propety. При это при валидации Property нудны данные проекта.
CapeRatel: Спасибо за ответ. Одна из фишек реакта это серверный рендеринг, а значит все будет индексироваться. Тесты я пишу, на cucumber и плюс unit тесты на jasmin и rspec. Просто хотел узнать, что посоветуют опытные разработчики.
CapeRatel: React мне нужен чтобы писать динамические формы, динамические списки данных, менять какие-то элементы на странице и немного анимации. В основном конечно он нужен для работы со списками данных: изменение данных, удаление, добавление и все это через ajax. В общем я выбирал js библиотеку, которая бы позволяла сделать страницы динамическими и при этом не создавать spa и свести к минимуму js код. Я хочу использовать возможности RoR по максимуму, а не просто использовать его в качестве API. MVC js фреймоворк перетягивает на себя всю ответственность, поэтому я отказался от Angular, который выбрал в начале. С чистым react работать просто замечательно, но мне кажется, что не правильно его вот так использовать, потому что почти весь код в компонентах. Вот я и хочу узнать, не придется ли мне потом все переписывать если я не буду использовать Flux, что рекомендуют его создатели.
CapeRatel: Flux это не фреймфорк, а архитектура, альтернатива mvc. Сейчас по сути я использую чисто один react. Весь код в компонентах, кроме работы с ajax.
Максим Антонихин: Я думаю, что понял, но он в основном подходит для одностраничных приложений. У меня же просто в некоторые страницы встраиваются компоненты с помощью react-rails. Вот я и хочу узнать есть ли смысл использовать Flux. Возможно кто-то уже работал с react-rails и может дать какой-то совет.
CapeRatel: Я не вижу в нем потребности сейчас. Но это не значит, что ее не будет если я буду писать без него, а переписывать потом не очень то хочется. Поэтому и хочу узнать в каком случае Flux стоит использовать, а в каком нет.