Module: ActsAsAble::Disser::InstanceMethods
- Defined in:
- lib/acts_as_able/disser.rb
Instance Method Summary collapse
-
#diss(obj) ⇒ Object
踩某对象.
-
#diss?(obj) ⇒ Boolean
是否踩了某对象.
-
#dissings(dissable_type) ⇒ Object
查看某种类型踩的所有对象.
-
#undiss(obj) ⇒ Object
取消对某对象对踩.
Instance Method Details
#diss(obj) ⇒ Object
踩某对象
19 20 21 |
# 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) ⇒ Boolean
是否踩了某对象
29 30 31 |
# File 'lib/acts_as_able/disser.rb', line 29 def diss?(obj) !diss_by(obj).blank? end |
#dissings(dissable_type) ⇒ Object
查看某种类型踩的所有对象
34 35 36 |
# 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) ⇒ Object
取消对某对象对踩
24 25 26 |
# File 'lib/acts_as_able/disser.rb', line 24 def undiss(obj) diss_by(obj).destroy end |