Святой Javascript варианты в рельсах!Помогите! - PullRequest
0 голосов
/ 14 мая 2011

Существует много разных способов использования javascript в rails 3.0.Мне было интересно, что будет лучшим подходом для очень сложного ajax-приложения.

Кажется, что в наши дни более прогрессивные программисты используют сценарий кофе, и я не против узнать что-то немного новое.

Я уже удалил прототип и обменял его на jquery-rails.

Тем не менее, я не уверен, достаточно ли этого.Мне действительно понравился require-js, потому что он действительно помогает модулировать код и разбивать все на разные файлы.Но хорошо ли это работает с подходом rails?

Кроме того, я могу захотеть использовать фреймворк для приложений javascript, такой как магистраль.Опять же, это перебор или все будет работать?

Какой самый лучший стек для создания очень сложных приложений ajax в rails 3.0.7?С чем легче всего работать, и насколько хорошо он подходит для работы рельсов?

Эти решения очень важны для принятия на ранней стадии, и я не хочу снова и снова повторять мой javascript, пока не получу правильное решение.Я хотел бы использовать опыт тех, кто создавал действительно сложные приложения AJAX с использованием rails.Спасибо!

Ответы [ 2 ]

3 голосов
/ 14 мая 2011

Я думаю, что вы обдумываете это. Rails 3 + jQuery + jQuery UI отлично подошел для сложных приложений Ajax.

Редактировать: Расширения активов позволяют группировать связанные файлы JavaScript или таблицы стилей, чтобы вы могли легко включать их в свои представления.

Например, допустим, вы добавили это в свой config / application.rb:

module YourApp
  class Application < Rails::Application
    # JavaScript files you want as :defaults (application.js is always included).
    config.action_view.javascript_expansions[:defaults] = %w(
      http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js
      http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js
      rails)

    config.action_view.javascript_expansions[:multiselect] = %w(
      jquery-tmpl/jquery.tmpl.min
      jquery-blockui/jquery.blockUI
      jquery-localisation/jquery.localisation.min
      jquery-multiselect/js/ui.multiselect)

По вашему мнению, вы можете сказать:

<%= javascript_include_tag :multiselect %>

Вы можете сделать то же самое с таблицами стилей. Помощник вида для этого stylesheet_link_tag. Метод конфигурации: stylesheet_expansions.

Также посмотрите на помощника content_for, если вы хотите поместить их в определенное место в макете.

1 голос
/ 14 мая 2011

Это зависит от того, насколько вы благочестивы, когда не пишете органически растущий код спагетти с вашим кодом jQuery повсюду.

Альтернативный подход - полностью отделить JavaScript от ваших рельсов.

Выпросто нужна одна точка входа в вид где-то

script(type="text/javascript" src="require/require.js" data-main="main.js")

Я лично рекомендую вам обращаться с main.js как со стриптизером.

Теперь вы можете делать все своиJavaScript через вашу основную библиотеку JavaScript, включая загрузку всего, что вам нужно.

ender, Backbone, подчеркивание, extJS (для пользовательского интерфейса), все, что вы хотите.

Это означает, что ваш JavaScript очень отделен от вашего сервера rails, но это нормально, потому что вы все общаетесь через ajax, используя четко определенный веб-интерфейс APIS.

Если ваше сложное приложение ajax должно бытьв режиме реального времени вы можете захотеть взглянуть на комету или сетку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...