我有一个类TaskBuilder,我想添加各种ActiveModel方法,以便它可以利用ActionPack。据我了解,在Rails 4中,这将解决问题:
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 :(得分:3)
由于类的延迟加载(自动加载),旧版rails issue #5768中提到添加require 'active_model'
是必要的。
require 'active_model'
class TaskBuilder
include ActiveModel::Model
答案 1 :(得分:0)
我认为你的代码中有拼写错误。
请检查include ActiveModel::Model
课程中是否有include Active_Model::Model
而非TaskBuilder
(注意:_不应该在那里)。
class TaskBuilder
include ActiveModel::Model ### Match this