跳至主要内容

[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

參考