我使用rails 5.2.1和mongoid 7.0.2
而且我尝试在用户模型中使用切换
class User
include Mongoid::Document
field :admin, type: Boolean, default: "false"
has_many :categories
def toggle!(field)
send "#{field}=", !self.send("#{field}?")
save :validation => false
end
end
但是当我在控制台中尝试时,出现此错误:
irb(main):003:0> user.toggle!(:admin)
Traceback (most recent call last):
2: from (irb):3
1: from app/models/user.rb:7:in `toggle!'
NameError (undefined local variable or method `scope_stack' for Category:Class
Did you mean? scopes)
答案 0 :(得分:1)
class User
include Mongoid::Document
field :admin, type: Boolean, default: "false"
has_many :categories
def toggle!(field)
self[field] = !self[field]
self.save(validate: false)
end
end
在此实施过程中,您仍然遇到同样的问题吗?