Nadpisuję działanie create kontrolera rejestracji. Mam dwie formy rejestracji, osoby lub firmy, firma ma pole o nazwie company_form ustawione na true, które rozróżnia dwie formy.Rails render części i layout w kontrolerze
Po sprawdzeniu poprawności formularza chciałbym renderować poprawny formularz (poprzednio powracał do domyślnego formularza bez względu na to, z jakiego formularza korzystałem).
Mam problem, w którym renderowany jest tylko częściowy obraz (oczywiste, ponieważ renderuję tylko częściowe), ale potrzebuję również, aby układ/plik aplikacji był renderowany.
class RegistrationsController < Devise::RegistrationsController
def create
<!-- Other devise code here -->
if resource.company_form
render partial: 'shared/company_signup_form'
else
render partial: '/shared/individual_signup_form'
end
end
end
Próbowałem
if resource.company_form
render partial: 'shared/company_signup_form', layout: 'layouts/application'
else
render partial: '/shared/individual_signup_form', layout: 'layouts/application
end
Ale pojawia się błąd
Template is missing
Missing partial layouts/_application
Dlaczego szukasz częściowego _application kiedy określony układ i jak mogę uzyskać prawidłowy układ do należy zastosować
Dziękujemy
Edit
Czytając dokumentację mówi
„Należy pamiętać, że układy do partials podążać tą samą wiodące podkreślenia nazywania jako regularne partials i są umieszczone w tym samym folderze z częściową, że należą one do (nie w folderze wzorcowym). "
ale chcę Domyślny układ należy stosować
układy/aplikacja przypuszczać, aby uruchomić dla wszystkich częściowego lub dowolnej strony państwa są renderingu, to mistrz strona modułu widoku. Jeśli chcesz mieć inny układ dla dwóch różnych sytuacji, możesz napisać jeden warunek w kontrolerze aplikacji. –
. To jest właśnie to, czego chcę, aby renderować układ główny, ale nie robi to – Richlewis
http://api.rubyonrails.org/classes/ActionView /PartialRenderer.html użyj tego dla ref, może to rozwiąże twój problem –