module ActsAsAble::Disser::InstanceMethods
Public Instance Methods
diss(obj)
click to toggle source
踩某对象
# File lib/acts_as_able/disser.rb, line 19 def diss(obj) self.disses.find_or_create_by(dissable_type: class_name(obj), dissable_id: obj.id) end
diss?(obj)
click to toggle source
是否踩了某对象
# File lib/acts_as_able/disser.rb, line 29 def diss?(obj) !diss_by(obj).blank? end
dissings(dissable_type)
click to toggle source
查看某种类型踩的所有对象
# File lib/acts_as_able/disser.rb, line 34 def dissings(dissable_type) return dissable_type.constantize.where(id: self.disses.where(dissable_type: dissable_type).pluck(:dissable_id)) end
undiss(obj)
click to toggle source
取消对某对象对踩
# File lib/acts_as_able/disser.rb, line 24 def undiss(obj) diss_by(obj).destroy end
Private Instance Methods
diss_by(obj)
click to toggle source
# File lib/acts_as_able/disser.rb, line 40 def diss_by(obj) self.disses.find_by(dissable_type: class_name(obj), dissable_id: obj.id) end