2011-09-25 193 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

相关问题