Rails 3: переменная @template внутри контроллеров равна нулю - PullRequest
0 голосов
/ 07 сентября 2010

У меня та же проблема, что и в этом вопросе.Кто-нибудь нашел какие-либо решения для этого?

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

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

или вот так:

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

Это отлично работало в Rails2,3.Основная идея - выяснить, как использовать вспомогательные методы непосредственно из контроллеров, а не из представлений.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2010

Я также столкнулся с этой проблемой и обнаружил, что вы можете использовать метод view_context.

Документация по API здесь: http://api.rubyonrails.org/classes/AbstractController/Rendering.html#method-i-view_context

0 голосов
/ 07 сентября 2010

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

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

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

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