Rails 3 удаляет металл? - PullRequest
       17

Rails 3 удаляет металл?

6 голосов
/ 03 декабря 2010

Удаляет ли Rails 3 металл?

Я пытаюсь реализовать Mongoid, Carrierwave и grid_fs.

Я следовал guide 1 .

Тем не менее, я читал, что Rails 3 удаляет Metal (http://github.com/rails/rails/commit/ed34652d1aca148fea61c5309c1bd5ff3a55abfa).

Поэтому я наткнулся на эту статью: guide 2

Учитываяобстоятельства, по которым Rails 3 может снимать металл и для дальнейшего обслуживания.Какое руководство больше подходит для совместной работы grid_fs, Mongoid и Carrierwave?

1 Ответ

16 голосов
/ 03 декабря 2010

Вы заметили коммит с комментарием "Удаление металла из Rails 3". Тем не менее, то, что происходит, на самом деле является совершенно противоположным этой фразы!

Направляющие 3 не удалили металл. Наоборот. Теперь все контроллеры - это металлы , и только те дополнительные функции, которые вы запрашиваете. Все, что вам нужно сделать, это унаследовать ваш конкретный класс контроллера от ActionController::Metal, а затем include любых конкретных модулей, которые предоставляют дополнительные функции, которые вы хотите в этом конкретном контроллере.

Конечно, большинство людей наследуют свои контроллеры от ActionController::Base. Но теперь ActionController::Base просто наследует ActionController::Metal и включает в себя все дополнительные функциональные модули.

Этот коммит, который вы заметили, удаляет металлы как отдельную функцию , кроме остальной части ActionPack. Теперь металлы больше не являются отдельной функцией, поэтому реализация отдельной функции металлов была удалена. Теперь все является металлом.

...