2011-11-30 85 views
5

,我試圖捕獲從另一個控制器渲染模板的輸出。rails 3.1 render_to_string從控制器方法返回空字符串

視圖文件位於:

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 

視圖文件很簡單,只是包含文本「富」。

我沒有收到關於rails無法找到show.html.erb文件的任何錯誤,但是 html_string爲空,並且引發錯誤。

我在通過rspec控制器測試運行create方法時看到了這種行爲。我還沒有通過rails服務器嘗試過代碼。

有人看到我在這裏失蹤的任何東西嗎?

回答

14

這原來是因爲我的控制器規範缺失的重要線路:

render_views 
+0

只要你有能力,可以肯定,並標記這個答案所接受所以其他人會知道有一個解決方案。 –

0

這應該工作

describe UsersController do 
integrate_views