1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Ruby on Rails]enumerize gemでoptionsを絞り込みたい場合

Posted at

enumerize gemについて

Ruby on Railsでenumを使いたい時に便利なGem
https://github.com/brainspec/enumerize

ざっくり使い方

class User
  extend Enumerize

  enumerize :role, in: [:user, :admin, :staff]
end

本題: optionsを絞り込みたい場合

enumerizeのoptionsを使用してkey, valueの構造を取得する場合に任意の項目を除外または指定した項目だけを取得したい場合には以下のように指定します。

除外したい場合

User.status.options(except: [:admin])
# => user, staffが取れる

指定した項目だけ取得したい場合

User.status.options(only: [:user])
# => userのみが取れる

まとめ

以上、雑ですが忘れそうなのでメモ残します。

ちなみにライブラリの実装追いました。
この辺でオプションの使い方が分かります。
https://github.com/brainspec/enumerize/blob/master/lib/enumerize/attribute.rb#L66-L70

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?