Oczywiście wiem, że w modelu nie można wywoływać metody render ale …
Tworzę aplikację pełniącą funkcje zbliżone do CPanel. Akcje create, update i destroy dla zasobów (dns_zone, webdomain itp.) wykonane z powodzeniem powinny generować plik “zlecenia”. Jest to plik xml tworzony metodą render_to_string (plik generuje prywatna metoda kontroler make_order).
Wszystko działa OK dopóki zarządzanie zasobami odbywa się za pośrednictwem kontrolerów. Jeśli jednak chciałbym usunąć użytkownika to powinny zostać usunięte również wszystkie zasoby do niego należące. W modelu User mam:
class User < ActiveRecord::Base
has_many :dns_zones, :dependent => :destroy
has_many :dns_records, :dependent => :destroy
has_many :sites, :dependent => :destroy
(...)
Ale to zapewnia mi to jedynie usunięcie danych z bazy danych natomiast zasoby nadal pozostaną w systemie bo nie ma “zleceń”.
W jaki sposób wygenerować “zlecenia” przy takim “masowym” kasowaniu zasobów?
private
def renderer @renderer ||= ActionController::Base.new()
end[/code]
Równie dobrze można będzie tego użyć w kontrolerze (jeśli np do stworzenia pliku potrzeba doddatkowych danych), np: