2011-03-18 85 views
0

我有以下代碼。js.erb模板將不會呈現

def exception_handler(e) 
    flash.now[:error] = e.message 
    render 'shared/exception_handler'  
end

這裏是exception_handler.js.erb

$('#flash').html(' "/shared/flash_messages")%>'); 
window.scrollBy(0,-10000); 
$('#flash').slideDown('slow').effect('highlight', {}, 3000).delay(4000).slideUp('slow');

我怎樣才能得到它運行時,我搶救控制器異常。奇怪的是,在我今天早上對代碼進行了一些更改之前,它正在工作。

+0

認爲你必須把'respond_to'塊你的代碼,而無需渲染模板 – 2011-03-18 10:58:59

+0

或嘗試重命名爲'_exception_handler.js.erb' – 2011-03-18 11:09:53

+0

不重命名你的模板'與_exception_handler.js.erb'文件模板_是諧音。我認爲它只是缺少像基什之前所說的響應塊 – 2011-03-18 11:49:37

回答

0

您需要添加.js.erb明確這樣的:

def exception_handler(e) 
    flash.now[:error] = e.message 
    render 'shared/exception_handler.js.erb'  
end 

然後,你需要重命名exception_handler.js.erb_exception_handler.js.erb

2

也許你刪除了這部分

$( '#閃')。 html('<%= escape_javascript(render:partial =>「/ shared/flash_messages」).html_safe%>');