Почему Ruby on Rails по умолчанию использует Prototype.js? - PullRequest
2 голосов
/ 21 апреля 2010

Я только недавно начал изучать RoR и обнаружил, что Prototype.js - это библиотека javascript по умолчанию, поставляемая из коробки. Почему он использует эту библиотеку и почему не jQuery, Dojo, Mootools, ExtJS и т. Д .?

Ответы [ 5 ]

7 голосов
/ 21 апреля 2010

Это был выбор, сделанный около пяти лет назад, и в то время он был просто любимым JS-фреймворком DHH.Rails 3 будет проще поддерживать переключение, но для rails 2 вы всегда можете просто использовать http://github.com/aaronchi/jrails для замены в jquery для прототипа.

UPDATE: Начиная с rails 3.1, он будет использовать jquery по умолчаниюи прототип станет доступен через гем.

3 голосов
/ 21 апреля 2010

Как упоминает Мэтт Бриггс, прототип был современным 5 лет назад.

TBH, это было очень долгое время с тех пор, как я использовал встроенные помощники javascript. Я пишу свои приложения, используя ненавязчивые методы JS с jQuery, а не значения по умолчанию. Все, что вам нужно сделать, это удалить файлы по умолчанию и включить любую библиотеку, которую вы хотите в свой макет.

Rails 3 меняет это ограничение, кстати, добавляя хуки для ненавязчивого JS с любой библиотекой.

1 голос
/ 21 апреля 2010

Если я правильно помню из книги Prototype & Scriptaculous, она изначально была частью Rails и теперь является побочным продуктом. Смысл был в том, чтобы JavaScript выглядел и действовал больше как Ruby.

0 голосов
/ 29 июня 2017

Очень круто, как сообщество управляет фреймворком Rails сейчас. После нескольких лет использования обязательной библиотеки JavaScript мы наконец-то получили свободу выбора любимых библиотек и инструментов веб-интерфейса: Rails 5.1: Loving JavaScript, ..

0 голосов
/ 21 апреля 2010

Во время написания Prototype был не просто современным, это была библиотека для использования. Однако, если вы просто используете javascript_tag, чтобы требовать jQuery - он будет работать нормально, за исключением ваших помощников по rjs. Однако это меняется в Rails 3 благодаря влиянию Merb и, в частности, Иегуде Кацу (одному, но не единственному, из основных членов Rails 3 Core, Merb и jQuery)

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