Ответ 1
Лучше всего на этом этапе прочитать файлы CHANGELOG
из отдельных частей Rails и попытаться извлечь из этого то, что вы можете:
Кроме того, там GitHub совершает то, что может предложить больше понимания (ха-ха-ха, я смешно, эй?) или Маяк, который иногда хорош для поиска аргументов за изменениями.
Я бы ожидал, когда будет выпущен Rails 3.1, будет запись, подобная 3.0 Примечания к выпуску, в которой подробно описываются изменения. Что касается того, кто ответственен за это, никто не знает.
Что касается Refinery и Spree, обе эти проекты должны были бы разделить их код на отдельные модули, а не на загрязнение глобального пространства имен. Контроллеры, такие как say, PagesController
, должны были бы стать Refinery::PagesController
. Представления для этого контроллера должны быть перенесены в app/views/refinery/pages
, и модель будет находиться в app/models/refinery
внутри самого движка.
Причиной этого является то, что приложения могут загрязнять "глобальное" пространство имен самими своими классами, не переопределяя функциональность движков. Он также останавливает двигатели от шага друг к другу.
Проблема с получением Refinery и Spree для обоих это будет двоякой. 1) если вы слышали о фразе "пасущиеся кошки", это было бы похоже, за исключением замены кошек с бешенными зомби-львами. 2) Вы нарушили бы совместимость с КАЖДОЙ ОДНОЙ ПРИМЕНЕНИЕМ, которая использовала Spree или Refinery.