Sproutcore Rails для Javascript

Posted on September 11, 2008
В больших RA достаточно много времени уходит на написание Javascript который бы реализовывал интерфейс с пользователем. Довольно оригинальное решаение этой проблемы -- плагин Red (так-же есть как gem) который позволяет преобразовывать ruby код в js код. Но для решения проблемы разделения логики и отображения лучше подходит Sproutcore. Sproutcore реализует паттерн MVC для JS.
После установки SproutCore
gem install sproutcore
можно создать проект Sproutcore

mkdir sc_hello
sproutcore sc_hello
После этого в директории будет создан каркас приложения sproutcore
Запустить проект можно коммандой sc-server
После чего по адресу http://localhost:4020/sc можно увидеть страницу приветствия c подсказками о дальнейших действиях
Для генерации модели, контроллера, файла локализации или отображения используется комманда sc-gen
Перед сборкой проекта внутри отображений используется синтаксис erb.
Например: в директории clients/sc_hello/body.rhtml можно вставить метку

<%= label_view :my_label, :tag => 'h1', :inner_html => 'Hello World!' %>
и после запуска сервера (или сборки проекта) оно превратится в стандартный HTML tag H1
Привязка значения осуществляется через контроллер

sc-gen controller sc_hello/app
Внутри контроллер выглядит так:

ScHello.appController = SC.Object.create(
/** @scope ScHello.appController */ {
// TODO: Add your own code here.
}) ;
для привязки значения в view к переменной в контроллере необходимо привести helper отображения к виду

<%= label_view :my_label, :tag => 'h1', :bind => { :value => 'ScHello.appController.greeting' } %>
А в контроллере объявить переменную greeting: "Hello Sproutcore!"
Так-же в дальнейшем я опишу работу с кнопками, моделями и другими элементами sproutcore

Comments
  1. RomanSeptember 11, 2008 @ 03:16 PM
    все бы хорошо, но тормозит и глючит эта штука так, что сил нет :/