2016-06-28 4 views
1

同じ列挙型配列を持つ2つの列を使用したいユースケースがあります。以下は実装しようとしているサンプルコードです。最初に下のコードでエラーが発生し、接尾辞の広告プレフィックスが追加されました。真のための未定義のメソッド `each_with_index」:TrueClass私はコードの下に使用してSTATUS1またはSTATUS2に値を割り当てるために、レールコンソールからモデルにアクセスしようとすると、Rails 4.2同じ列挙型の値を持つ複数の列を管理する

class Sample 
    enum status1: {initiated: 1, ringing: 2}, _suffix: true 
    enum status2: {initiated: 1, ringing: 2}, _prefix: :stat2 
end 

は今、私はエラー

s = Sample.last 

NoMethodErrorを取得します

ここでは、同じ列挙型の値を持つ複数の列を持ち、それらに値を割り当てて保存できるようにしたいと考えています。

+1

私は接頭辞と接尾辞がレールでのみ利用可能だと思うので、どのバージョンのレールを使用しているのですか? – hypern

+0

私はrails 4.2を使用しています。 –

答えて

1

Rails 4.2では、_prefixおよび_suffixの使用はサポートされていません。これはRails 5で導入された機能です。hereは、機能を紹介するレールマスターブランチへのコミットを参照してください。

新しいレール5バージョンのenumを実装するか、名前の衝突を防ぐために手動で接頭辞または接尾辞を付けるだけです。 Railsは、宣言したenum値に基づいてモデルのメソッドを生成します。そのため、同じ名前の2つの列挙値に同じ名前を付けることはできません。

関連する問題