2010-09-07 8 views
0

У меня такая же проблема, как в this вопрос. Кто-нибудь нашел какие-либо решения для этого?Rails 3: @template переменные внутренние контроллеры nil

Так что я не могу сделать так:

flash[:notice] = "Successfully created #{@template.link_to('product', @product)}. 

или как это:

@template.title("Page title is here.") 

Он прекрасно работал в Rails 2.3. Основная идея заключается в том, чтобы узнать, как использовать вспомогательные методы непосредственно из конвейеров, а не из представлений.

Спасибо.

+0

Вы не можете использовать вспомогательные методы из контроллеров, вы используете их в представлениях ... –

ответ

0

Вы делаете это неправильно.

Во-первых, вы должны установить заголовок страницы внутри представления, а не в своем контроллере. Вы можете просто позвонить в помощник title в свой файл вида.

О ссылке, flash не должен содержать HTML. Однако вы можете создать ссылку вручную.

flash[:notice] = %Q{Successfully created <a href="#{product_path(@product)}">product</a>.} 
+0

Я знаю, что я могу сделать это в моем представлении. Но вопрос был в том, что я не могу найти переменную, похожую на @template в Rails 2. –