[gem] Acts as list
Acts as list @ Github
Model
top_of_list
:排序的起始號,預設是 0。scope
:在預設情況下,不能出現重複的 position,透過scope
可以給定某一欄位當作排序的分組,在不同分組間就可以出現相同的 position。
# app/models/assessment.rb
class Assessment < ApplicationRecord
# Attributes related macros
acts_as_list top_of_list: 1, scope: :event
# 如果需要 scope 兩個以上的欄位
# acts_as_list top_of_list: 1, scope: [:event_id, :field_type]
# 有需要的話可以加,但不需要驗證是否 presence
validates_numericality_of :position, greater_than_or_equal_to: 1
end
參考
- Acts as list @ Github