2009-06-18 10 views
30

Mam QuestionController Mam teraz AnotherQuestionController z działaniami, które powinny być renderowane przy użyciu szablonów i części w app/views/question/ Czy to możliwe? Wydaje się, że tak powinno być.Jeden kontroler renderujący za pomocą widoków innego kontrolera

Próbowałem

render :template => "question/answer" 

ale answer.html.erb obejmuje partials i pojawiają się błędy jak

"Brakujący szablon another_question/_my_partial.erb w widoku ścieżki"

Tak jest istnieje sposób, aby powiedzieć Railsom "traktować AnotherQuestionController jak gdyby jego QuestionController i szukać widoków i części w app/views/question"? Czy będę musiał utworzyć app/views/another_question - co spowoduje duplikację (nie może to być metoda Rails).

Dzięki

Odpowiedz

44

Szablon renderowania powinien faktycznie pracują

render :template => "question/answer" 

Problem miałaś jest z podszablonów szukają w złym miejscu. Poprawka jest prosta, po prostu spraw, aby twoje częściowe wartości były absolutne w dowolnych udostępnionych szablonach. Na przykład, pytanie/answer.html.erb powinien mieć

<%= render :partial => 'question/some_partial' %> 

zamiast zwykłej

<%= render :partial => 'some_partial' %> 
+0

To nie działa Obawiam – Paul

+0

oh prawo. Na drugim badaniu znalazłem faktyczny numer –

+0

Jakiś nowy sposób robienia tego w szynach 3.x? Pytam, ponieważ używam klejnotu, który daje pomocników do automatycznego renderowania w widoku (w przeciwnym razie twoje rozwiązanie by działało). Wolałbym nie zastępować pomocników tego klejnotu. Dzięki! – montrealmike

12

Można to osiągnąć z:

render 'question/answer' 
+0

Czy spowoduje to również wszystkie działania before_actions w tym kontrolerze? – Dahnny012

Powiązane problemy