2

たとえば、次のような値の短いリストに限定された属性があるとします。

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

どちらの場合も、この属性を処理するためのベスト プラクティスは次のとおりです。

  • ユーザーは 1 つの値のみを選択できます (ラジオ ボタン)
  • ユーザーは複数の値を選択できます (チェックボックス)

最初のケースでは、イニシャライザで定義されたハッシュを使用して整数値を保存します。2 番目のケースでは、考えられるすべての組み合わせを表すビット操作を考えました。

Rails 3で両方のケースを処理するためのベストプラクティスはありますか?

編集:ビット操作を適切に処理するこの宝石BitmaskAttributesを見つけましたが、これがベストプラクティスであるかどうかを知りたいですか?

4

1 に答える 1

2

配列を使用して、モデルのテキスト属性でこの配列をシリアル化できます

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

モデルを保存するときは、このようにすることができます

Expense.new(:ways => [1, 2])
于 2013-04-28T18:49:03.333 に答える