2016-11-18 72 views
0

我不知道爲什麼,但出於某種原因,我的嵌套關聯沒有被rails所推崇。Rails not loading model.rb文件

我的學生課有嵌套協會:地址,測試

的地址協會工作正常。測試關聯與地址關聯相同,不起作用。雖然我可以成功創建和編輯測試實例,但它們不會接受在其模型中定義的驗證檢查,也不會實現我在其模型中指定的檢索功能。

這裏的學生模型:

class Student < ActiveRecord::Base 
    unloadable 

    validates :name, presence: true, length: {maximum: 50} 

    has_many :addresses, :dependent => :destroy 
    has_many :tests, :dependent => :destroy 

    accepts_nested_attributes_for :addresses, 
    :reject_if => :all_blank, 
    :allow_destroy => true 
    accepts_nested_attributes_for :tests, 
    :reject_if => :all_blank, 
    :allow_destroy => true 
end 

這裏的地址模型(工作):

class Address < ActiveRecord::Base 
    belongs_to :student 
    validates :address, presence: true, length: {maximum: 80} 

def self.ransackable_attributes(auth_object = nil) 
    ['county', 'zip', 'address'] 
    end 
end 

而這裏的(基本上)相同的測試模型(不工作):

class Test < ActiveRecord::Base 
    belongs_to :student 
    validates :name, length: {maximum: 40} 

    def self.ransackable_attributes(auth_object = nil) 
    ['score', 'date'] 
    end 
end 

它完全忽略了驗證以及快速搜索功能。雖然所有內容都運行正常,但我可以輸入任何我想要的內容,即使它已經過驗證的長度,也不會引發錯誤消息。

我覺得我沒有正確創建我的模型或者什麼,Rails不知道它在那裏?

+2

請詳細說明*「不起作用」*。例如:是否有錯誤信息?你嘗試了什麼,發生了什麼或沒有發生什麼? – spickermann

+0

看我的編輯,在底部我解釋更多的細節。 – ineedahero

+0

我打賭你的應用程序中有__another__模型/類名爲Test。 –

回答

0

Test,我相信是在minitest框架中的一個模塊。避免命名您的模型Test。事實上,test是Rails中的保留關鍵字。嘗試重新命名模型的名稱並重試。