Rails 3:控制器内部的@template变量为零

时间:2010-09-07 07:44:47

标签: ruby ruby-on-rails-3 helpers controllers

我遇到了与this问题相同的问题。有没有人为此找到任何解决方案?

所以我不能这样做:

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

或者像这样:

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

它在Rails 2.3中完美运行。主要思想是找出如何直接从控制器使用辅助方法,而不是从视图中使用。

感谢。

2 个答案:

答案 0 :(得分:0)

你做错了。

首先,您应该在视图内设置页面标题,而不是在控制器中。 您只需在视图文件中调用title帮助程序即可。

关于链接,flash不应包含HTML。但是,您可以手动创建链接。

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

答案 1 :(得分:0)

我也遇到了同样的问题,发现你可以使用view_context方法。

此处的API文档:http://api.rubyonrails.org/classes/AbstractController/Rendering.html#method-i-view_context