2011-03-18 82 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%>');