Интерфейс Towerjs и бэкэнд рельсов?
Я начал заниматься веб-программированием с рельсов с 2-х месяцев, а с недавних пор - с towerjs
У меня есть существующий рельс 3.1, и я бы использовал towerjs в качестве внешнего интерфейса. это означает, что рельсы имеют существующую логику и дб.
Могу ли я использовать towerjs на стороне браузера, чтобы получать и устанавливать данные с помощью rails в базу данных?
Моя настоящая идея - запустить сервер rails и towerjs, и оба будут общаться вместе с json. но я не знаю, как я мог бы реализовать это!
2 ответа
Tower тесно связан для запуска кода на клиенте и сервере.
Вы бы лучше смотрели что-то вроде backbone.js, потому что это безразлично для вашей настройки на стороне сервера.
В настоящее время я портирую приложение rails на одностраничное приложение. После долгих взломов я остановился на магистрали для клиента, node.js/express для сервера и реорганизовал все модели rails в API ruby / grape. Сервер узла передает запросы в API виноградной лозы, используя модуль npm awesome request. Пока очень счастлив.
магистраль: http://documentcloud.github.com/backbone/
виноград: https://github.com/intridea/grape
Вы можете использовать Tower.js исключительно на стороне клиента.
Документация [в настоящее время] сфокусирована на создании приложения, подобного Rails, предоставляя шаблон для тестирования javascript, настройки вашего сервера и баз данных и т. Д. Однако вам может потребоваться просто underscore
а также tower
в браузере создайте на клиенте любые модели, которые вам нужны, и подключите их через хранилище ajax к своему бэкэнду Rails.
<script src="/javascripts/vendor/javascripts/underscore.js"></script>
<script src="/javascripts/vendor/javascripts/tower.js"></script>
Здесь по-прежнему нужна документация (а также пример), но она работает как клиентский MVC. Что-то вроде этого:
class App extends Tower.Application
@bootstrap: (data) ->
App.Post.load(data.posts) if data.posts
class App.Post extends Tower.Model
@field "title"
@field "body"
И HTML-файл для загрузки строки JSON в модель изначально
<body>
<script>
App.Post.bootstrap(<%= @posts.to_json %>);
</script>
</body>