2011-09-25 241 views
0

首先,在例外的問題:是什麼導致了NoMethodError'_view_paths'異常?

undefined method '_view_paths' for nil:NilClass` 

的相關路線:

get 'payments/index' => 'payments#index' 
get 'payments/class' => 'payments#class' 
get 'payments/kids' => 'payments#kids' 
get 'payments/donate' => 'payments#donate' 

相關的控制器:

class PaymentsController < ApplicationController 
    def index 
    end 

    def class 
    end 

    def kids 
    end 

    def donate 
    end 
end 

因此,發生異常時每次試圖訪問時間其中一條路線。上述路線的視圖是使用腳手架生成的簡單路線,並且不使用其他Rails API調用。我似乎無法找到有關'_view_paths'方法的其他信息。我迄今能夠做出的唯一假設是沒有找到正確的視圖,但根據Rails約定(app/views/payments/*),所有視圖都完全位於預期的位置。

有沒有人偶然發現過這個問題,並找到了解決辦法?

回答

3

不能定義一個名爲「階級」,因爲它是已經來指代對象的class保留方法,例如方法:

Object.new.class #=> Object 

技術上我想你可以覆蓋它(如你有),但這樣做很可能會有一些奇怪的後果,除非你知道你在做什麼。

當代碼嘗試調用諸如self.class._view_paths之類的錯誤時可能會發生此錯誤。它預計致電PaymentsController._view_paths。但是,您已使用返回nil的空方法重寫實例方法class,因此nil例外。

+0

對號碼1311407,現在一切都只是桃色......給我一點時間,我去給自己一個臉巴掌。 – Dulan

相關問題