0

私は電子メールシステムを持っていて、ユーザーがチェックボックスを使用して、イベントが発生したときにどのメッセージを受信するかを決定できるようにしたいと考えています。

field :when_receive_order, :type => Boolean, :default => "true"
field :when_accept_order, :type => Boolean, :default => "true"
field :when_cancel_order, :type => Boolean, :default => "true"
field :when_reject_order, :type => Boolean, :default => "true"
.
.
.
more...

これらの場合、値を使用するのが適切か、state_machinegemを使用するのかを知りたいですBoolean

このリンクでは、 http://railstips.org/blog/archives/2012/10/10/booleans-are-baaaaaaaaaad/Booleanは値が悪いと主張しています。だから私はこの質問をします。

注:私のデータベースはmongodbであり、私のodmesmongoidです

4

2 に答える 2

2

これらのブール値の1つだけが常に真である場合は、state_machineを使用できます。それ以外の場合はできません。

あなたの場合、複数の値が真である可能性があると思います。注文が受け付けられたときとキャンセルされたときの両方でユーザーがメールを受信したい場合はどうなりますか?したがって、state_machineを使用することはできません。

于 2012-10-18T12:51:41.487 に答える
0

そうです、エンティティのこの種の構成は簡単にエラーにつながります...このgemに依存するか、ソースコードを調べて自分で実装する必要があります。

于 2012-10-18T12:25:55.123 に答える