Scaffold

Przerabiam obecnie “Beginning Ruby on Rails E-Commerce” (IMHO ciekawa pozycja), dotarłem do rozdziału trzeciego i zonk. Problem jak z większością książek: napisane są na Rails-ach 1.x.

Zadanie do zrealizowania jest następujące:

W podręczniku mamy:

$ script/generate scaffold Publisher 'admin/publishers'

Niestety w rails-2.1.0 to nie działa gdyż scaffold nie pozwala na podanie nazwy kontrolera. Jak obejść ten problem, co należy pozmieniać żeby po wykonaniu script/generate scaffold Publisher i przeniesieniu plików kontrolera i widoku uzyskać działającą aplikację? Istotne są również niezbędne zmiany w testach.

  • zmiana PublishersController na Admin::PublishersController
  • zmiana w config/routes.rb

[code]- map.resources :publishers

  • map.namespace :admin do |admin|
  • admin.resources :publishers
  • end[/code]
  • zmiany metod określających ścieżki do plików ( wg. efektów rake routes) - sporo tego jest do poprawiania

A może jest jakaś prostsza metoda?
W googlu znalazłem kilka wątków dotyczących tego problemu ale w żadnym nie podano rozwiązania.

spróbuj

script/generate scaffold 'admin/publisher'

chyba jest mniej do poprawiania

[quote=ronin]spróbuj

script/generate scaffold 'admin/publisher'

chyba jest mniej do poprawiania[/quote]
Tylko że zamiast tabeli publishers dostaję admin_publishers. Przy zmianie nazwy klasy modelu z Admin::Publisher na Publisher testy burzą się, że w …/model/admin/publisher.rb jest klasa Publisher. Przeniesienie pliku do katalogu wyżej i testy burzą się, że nie została zainicjowana klasa Publisher …

mozesz jeszcze spróbuwać tak samo, tylko że potem skasuj model i jego testy i wygeneruj sobie sam model, a jak to nie pomoże to chyba będziesz musiał się pomęczyć i zmieniać ręcznie