rails 3.1 render_to_string返回空字符串

时间:2011-11-30 23:00:13

标签: ruby-on-rails rspec2 rspec-rails

从控制器方法,我试图捕获从另一个控制器渲染模板的输出。

视图文件位于此处:

path/to/show.html.erb

在我的控制器里我有:

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

视图文件非常简单,只包含文本'foo'。

我没有收到关于rails无法找到show.html.erb文件的任何错误,但是 html_string为空,并引发错误。

通过rspec控制器测试运行create方法时,我看到了这种行为。我还没有通过rails服务器试过代码。

有没有人看到我在这里遗失的任何东西?

2 个答案:

答案 0 :(得分:15)

原来这是由于我的控制器规范错过了重要的一行:

render_views

答案 1 :(得分:0)

这应该有效

describe UsersController do
 integrate_views