2013-09-16 94 views
0

我遇到了很多麻煩跟蹤語法錯誤,軌道一直告訴我在我的代碼中,但對於我的生活我看不到它! 我得到以下錯誤:語法錯誤軌道渲染

syntax error, unexpected keyword_ensure, expecting end-of-input 

在該行render :action => "modal", :layout => false

,並不管我做什麼,我不能擺脫它!請幫幫我!

def new 

    @appointment = Appointment.new 
    @appointment.patient = current_patient 
    @appointment.practice = current_practice 


    respond_to do |format| 
     if params[:layout] == 'modal' 
     render :action => "modal", :layout => false 
     else 
     format.html 
     format.json { render json: @appointment } 
     end 
    end 
end 

screen shot of better errrors stacktrace

+0

能否請您提供堆棧跟蹤的副本? –

+0

我假設你的意思是'if params [:layout] =='modal'' not'='。 – lurker

+0

mbratch對不起沒有區別 – mattclar

回答

2

UPDATE:視圖錯誤:

我認爲你必須檢查你的視圖代碼。我想你誤解了你的錯誤。我認爲錯誤是在你的視圖模板中,而不是在控制器操作中。在圖像頂部的屏幕截圖中,以下句子顯示了錯誤的位置:「app/views/appointmentments/new中的SyntaxError」。

控制器想渲染視圖 - 在視圖中是錯誤 - 這就是它:)。

BTW:可能控制器重構:

def new 
    @appointment = Appointment.new 
    @appointment.patient = current_patient 
    @appointment.practice = current_practice 
    render :action => "modal", :layout => (params[:layout] == "modal" ? false : true) 
end 
+0

感謝您的建議,已經嘗試過這樣,它沒有奏效。但爲了它,我複製並粘貼到你的線,我仍然得到相同的錯誤 – mattclar

+0

我更新了我的答案..也許你沒有得到與重構解決方案的錯誤。 – Mattherick

+0

感謝重構,但不幸的是我仍然得到完全相同的錯誤。最初我以爲我錯過了一些顯而易見的事情,但這很難追查到 – mattclar