Унаследованные ресурсы устарели в Rails 3 ... Респонденты - PullRequest
6 голосов
/ 07 марта 2012

Я только что начал использовать InheritedResources для приложения, которое я создаю, и когда я смотрел на его страницу Github, он говорит, что он устарел, и что вместо этого я должен использовать Responders.

Я новичок в InheritedResources и Responders, поэтому я в замешательстве, как я могу получить от Responders то, что я получаю в InheritedResources (полный код шаблона базы действий REST), когда все, что я вижу из документации, это FlashResponders и HTTPCacheResponders?

Я тоже взглянул на это:

http://blog.plataformatec.com.br/tag/inherited_resources/

так значит ли это, что для меня больше нет "кода шаблона REST"?

1 Ответ

10 голосов
/ 07 марта 2012

Комбинация respond_with (встроенная в Rails) в сочетании с гемом responders делает InheritedResources устаревшими.

Пожалуйста, посмотрите на это сообщение в блоге для превосходного объяснения и демонстрации того, как создать RESTful-контроллер с использованием respond_with.Большинство действий контроллера сводятся к одной строке кода;с InheritedResources можно было иметь контроллер без кода (потому что он был спрятан в жемчужине), но Хосе Валим (создатель InheritedResources) подумал, что это было слишком запутано согласно его цитате:

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

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


ОБНОВЛЕНИЕ: для комментатора ниже, который спросил о действии destroy

def destroy
  record = Record.find(params[:id])
  flash[:notice] = "The record has been destroyed successfully" if record.destroy
  respond_with record
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...