2011-11-30 13 views
5

z metody kontrolera, próbuję przechwycić wynik renderowania szablonu z innego kontrolera.rails 3.1 render_to_string zwracający pusty ciąg

plikiem widoku znajduje się tutaj:

path/to/show.html.erb 

w moim kontroler mam:

def create 
    html_string = render_to_string :template => 'path/to/show' 
    raise 'html string is empty!' if html_string.empty? 
    # do some other stuff 
end 

widok plików jest bardzo proste, wystarczy zawierający tekst 'foo'.

Nie otrzymuję żadnego błędu związanego z tym, że szyny nie mogą znaleźć pliku show.html.erb, ale html_string jest pusty, a błąd został zgłoszony.

Widzę to zachowanie podczas uruchamiania metody create przez test kontrolera rspec. Nie próbowałem jeszcze kodu przez serwer rails.

Czy ktoś widzi wszystko, czego tu brakuje?

Odpowiedz

14

ten okazuje się być spowodowane moim kontrolera specyfikacji brakuje ważną linię:

render_views 
+0

Gdy tylko jesteś w stanie, upewnij się i oznaczyć tę odpowiedź jako akceptowane aby inni wiedzieli, że istnieje rozwiązanie. –

0

To powinno działać

describe UsersController do 
integrate_views