2

舉例來說,如果我有一個限定值,如短列表中的屬性處理屬性的最佳實踐:軌道3與固定可能性

ways = {:way_1 => 1, :way_2 => 2, :way_3 => 3} 

什麼是處理這個屬性,兩者的最佳實踐例:

  • 用戶只能選擇一個值(單選按鈕)
  • 用戶可以選擇多個值(複選框)

對於第一種情況,我將使用在初始化程序中定義的哈希值並保存整數值,對於第二種情況,我想到了位操作來表示所有可能的組合。

在軌道3中處理兩種情況是否有最佳做法?

編輯: 我發現這個寶石BitmaskAttributes很好地處理位操作,但我仍然想知道這是否是最佳做法?

回答

2

可使用數組和模型中的序列化此陣列中的文本屬性

class Expense < ActiveRecord::Base 
    serialize :ways 
    # other model code 
end 

然後保存你的模型時,你可以做這樣的

Expense.new(:ways => [1, 2])