2014-02-22 101 views
0

我有一個類TaskBuilder我想添加各種ActiveModel方法,以便它可以利用ActionPack。據我瞭解,在軌道4,這將這樣的伎倆:不能包含ActiveModel ::模型

class TaskBuilder 
    include ActiveModel::Model 

當我這樣做,我得到這個錯誤:

task_builder.rb:2:in `<class:TaskBuilder>': 
    uninitialized constant TaskBuilder::Active_Model (NameError) 

注意,本來我只打算使用驗證,並只是包含該模塊,沒有問題,例如,

class TaskBuilder 
    include ActiveModel::Validations 

哪些工作正常。我正在使用Rails 4.0.0。這裏發生了什麼?

+0

是否添加'require'active_model'' help? –

+0

適用於我:https://gist.github.com/Willianvdv/9162257。這是一個正常的鐵路項目? – Willian

+0

'require'active_model''似乎已經修復了它。如果有人能解釋爲什麼這是必要的,我會接受這個答案。這個項目沒有什麼特別的想法。 –

回答

2

添加require 'active_model'在這個老rails issue #5768被提及作爲必要的,因爲類的遲緩裝載(自動加載)。

require 'active_model' 

class TaskBuilder 
    include ActiveModel::Model 
0

我認爲你的代碼有錯字。 請檢查您的TaskBuilder類中是否有include ActiveModel::Model而不是include Active_Model::Model注意:_不應該存在)。

class TaskBuilder 
    include ActiveModel::Model ### Match this 
+0

好主意,但沒有下劃線;我有什麼比賽。看到上面的評論 - 在文件頂部添加'require'active_model''似乎已經修復了它,但我不明白爲什麼。 –

+0

@SteveRowley這很奇怪,因爲我模擬相同的配置,我不需要'需要active_model'。 –

+0

但看看你發佈的錯誤「TaskBuilder :: Active_Model(NameError)」。爲什麼說Active_Model? –