2012-04-18 49 views
1

不工作,我有一個由AJAX調用方法:Ruby on Rails的 - :佈局=>假上的Apache2

def showplain 
    ............. 
    respond_to do |format| 
     format.html { render :layout => false, :partial => "content"} 
    end 
end 

這工作的WEBrick,但會導致上的Apache2 +的Phusion客運錯誤。

錯誤是:

::的ActionView MissingTemplate(缺少模板myitems/showplain)

如果我創建showplain.html.erb:

<%= render :layout => false, :partial => "content" %> 

它顯示了我完整的頁面,WITH佈局,在AJAX框架中。

它似乎忽略:layout => false參數。如何使其顯示部分沒有佈局?

match 'myitems/showplain' => 'myitems#showplain', :via => :get 

回答

1

有異常發生的歷史纔來到渲染。

我寫

begin 
    ......... 
rescue => ex 
    ......... 
end 
render :layout => false, :partial => "content" 

刪除showplain.html.erb,和一切正常了。

0

你對AJAX有所瞭解。要響應ajax請求,您需要使用js格式來響應您的應用程序。

def showplain 
    ............. 
    respond_to do |format| 
     format.html { render :layout => false, :partial => "content"} 
     format.js { render :layout => false, :partial => "content"} 
    end 
end 

然後你用js格式調用你的路由。

我希望它能幫助

+0

是不是.js保留爲JavaScript?我想讓方法返回一部分HTML代碼,並且它與Webrick一起工作。 – Paul 2012-04-18 15:30:45