2015-10-10 3 views
4

Я использую Ruby on Rails с чуть более года, и я всегда делаю это случайным образом, я имею в виду, все в одном месте (впереди & назад) , используя стандартный файл .html.erb, заполненный соответствующим методом контроллера.Рубины на рельсах раздельные спереди и сзади

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

Я сделал много researches, посмотреть некоторые конференции (1, 2, 3), но не нашел мое решение еще. Похоже, что вопрос часто возникает, но какова лучшая практика/инструменты для разделения бэкэнд и интерфейса приложения Ruby on Rails?

Я не чувствую, нам нужно (пока) огромный JS рамки, как React/EmberJS/Угловая/и т.д ...

Сначала я думал о чем-то вроде Middleman/Jekyll и сделать общение через JSON и API, но похоже, что это нехорошее решение для динамического веб-сайта.

Итак, есть фреймворк, который хорошо работает с Rails API и который легко поддерживается и обновляется (добавьте функцию/расширение к нему, как драгоценные камни)?

Спасибо за понимание.

+2

Для проекта, над которым я сейчас работаю, API-подобный сервер основан на Grape (REST-подобный API-каркас для Ruby), который очень хорошо дополняет Rails, а передний - в угловом. Связь осуществляется через вызовы API и ответы JSON. Хотя я не совсем уверен в эффективности Angular как front, я бы посоветовал вам взглянуть на Grape как на хорошее решение для back-end благодаря своей удобочитаемости и ремонтопригодности. – Brozorec

+0

Другим вариантом будет использование rails-api, который является разделенной версией рельсов в качестве альтернативы винограду. –

ответ

0

У меня есть аналогичная установка, как один из комментаторов по вопросу.

Я использую Rails в основном только для структуры проекта, для определения макетов страниц и для ActiveRecord.

У меня есть мои API-интерфейсы JSON, определенные с использованием API-интерфейса Grape API.

У меня есть SPA, написанный на AngularJS, который живет в общедоступной папке. Он удваивается как мое мобильное приложение, которое стало возможным благодаря телефонному разрыву. Если бы мое приложение «Угловое» не удвоилось, как мое мобильное приложение, возможно, я просто использовал конвейер активов для обслуживания SPA. Чтобы компенсировать это, у меня есть отдельная задача сборки, написанная в Grunt, чтобы минимизировать/убрать мои активы JS/CSS до того, как я их развожу на производство.

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

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

0

Мой друг написал эту замечательную статью/учебник по Rails в качестве базового API.

http://blog.launchacademy.com/the-basics-of-building-an-api-in-ruby-on-rails/

Как это учебник по Rails/ember.js

https://github.com/diegodesouza/Project-Planner-EmberJS

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

Надеюсь, что он проливает свет на этот вопрос.

Смежные вопросы