0
我有一個使用多個Custom ActiveModel驗證程序的模型。在安裝rails_admin時,出現以下錯誤rails_admin,mongoid和自定義ActiveModel驗證程序的問題
.rvm/gems/ruby-1.9.2-head/bundler/gems/rails_admin-0d80b74a60e7/lib/rails_admin/adapters/mongoid.rb:340:in `block in length_validation_lookup': undefined method `attributes' for #<MyCustomValidator:0x00000105c5aca0 @options={}> (NoMethodError)
from .rvm/gems/ruby-1.9.2-head/bundler/gems/rails_admin-0d80b74a60e7/lib/rails_admin/adapters/mongoid.rb:339:in `select'
from .rvm/gems/ruby-1.9.2-head/bundler/gems/rails_admin-0d80b74a60e7/lib/rails_admin/adapters/mongoid.rb:339:in `length_validation_lookup'
from .rvm/gems/ruby-1.9.2-head/bundler/gems/rails_admin-0d80b74a60e7/lib/rails_admin/adapters/mongoid.rb:98:in `block in properties'
如果我在模型中註釋了驗證器調用,錯誤消失。想知道是否有問題的解決方案(除了黑客rails_admin代碼庫)。
下面是如我在註釋中,加入一個「屬性」方法,它返回一個空數組可以解決問題的骨架代碼(僅相關部分)
class MyModel
include Mongoid::Document
....
validates_with MyValidator
end
class MyValidator < ActiveModel::Validator
def validate(record)
end
end
。
大概從發佈你的一些代碼開始吧? –
我通過添加'屬性'方法暫時解決了這個問題,該方法在我的驗證器中返回一個空數組。 – nvn