Я использовал RJS в прошлом для проектов RoR и чувствовал себя ужасно принужденным тем, что это могло сделать. Однако использование одного только JavaScript чувствовало/чувствовало ужасным и взлом-y. Это особенно верно при записи JavaScript, который управляет направляющими, автоволшебно сгенерированными от имен переменной. Я не видел много разговора о RJS в блогосфере недавно. RJS использует в новых проектах RoR, или люди решили, что это не эффективно? Это все еще активно разрабатывает и его расширенное функциональное покрытие? Я ценил бы некоторое понимание текущего положения дел.
Так, кто использует RJS (и как он удается для Вас), и кто использует JavaScript?
Я рекомендую писать простой javascript. Я считаю, что - да - RJS выходит из моды. Одна из причин этого - популярность привлекательной библиотеки jQuery. Другая - это модель RJS - это рубиновая оболочка вокруг javascript, и поэтому для любой библиотеки javascript, которую вам нужно использовать, вам понадобится соответствующая библиотека рубиновой оболочки, что означает более тяжелую работу, которую кому-то придется выполнять (и еще один драгоценный камень, на который вам придется положиться). Кроме того, хотя идея сделать запрос и получить обратно исполняемый javascript - это хорошо, я считаю, что многим этот стиль не нравится или, по крайней мере, он не подходит для определенных ситуаций. Я лично выучил javascript, и мне он очень понравился, и я рекомендую вам попробовать.
Мне нравится использовать RJS для простых задач, например:
page["post_#{@post.id}"].replace :partial => @post
page["post_#{@post.id}"].highlight
Да, вы можете сделать это напрямую с помощью функции link_to_remote, но это просто загромождает ваше представление кодом или update_page
в контроллере, но это некрасиво ... rjs позволяет вам писать более понятный код, который не связан с любой библиотекой javascript (поскольку есть такие вещи, как jrails, или вы можете просто переопределить методы Rails сами.)
Если у вас есть действительно сложная функция javascript для вашего приложения, вам, вероятно, будет лучше написать JavaScript самостоятельно, поскольку в этом случае вы не захотите полагаться на абстракции, предоставляемые Rails.
Я полагаю, вы имеете в виду шаблоны RJS. Вся концепция заключается в том, что вы генерируете JavaScript, который будет запускаться в функции JS eval в браузере как возврат AJAX. Как именно вы «чувствовали себя ужасно скованными тем, что он мог сделать»? Вы можете смешивать Ruby и JS в файлах RJS различными способами, и это не больше ограничений, чем другие форматы типов ERB. Это' Это очень мощный способ заставить вызовы AJAX делать больше, чем обновлять один У меня такое ощущение, что вы действительно хотите спросить об использовании помощников JavaScript / Prototype / Scriptaculous. Это так?
RJS никогда не задумывался как полная замена JavaScript, и вам не следует решать, какой инструмент подходит для работы, основываясь на том, что, по вашему мнению, вы видите, что какой-то другой ребенок делает в блогосфере.
Мне лично не нравятся js, генерируемые помощниками, поэтому я обычно не использую их. Однако, бывают случаи, когда они весьма удобны.
Существует также замена JQuery, Jrails , если вы не фанат Prototype.
Но я должен согласиться с NSD. Почему вы позволяете тому, что делают другие, в конечном итоге, вести ваш путь? Если вам не нравится, как работают помощники, или они не делают этого для вашего проекта, не используйте их. Или, если чего-то не хватает, напишите свое. И, возможно, в этом можно разжечь некоторый интерес.
Что касается времени инвестирования , это знания.
не использовать их. Или, если чего-то не хватает, напишите свое. И, возможно, в этом можно зажечь некоторый интерес.Что касается времени инвестирования , это знания.
не использовать их. Или, если чего-то не хватает, напишите свое. И, возможно, в этом можно зажечь некоторый интерес.Что касается времени инвестирования , это знания.