スリ飯屋Malankaのフリーエンジニアな日々

IT実務未経験から約1年、東京でフリーランスのRuby on Railsエンジニアに転職。約2年半、大阪中崎町でスリランカカレーの間借りしてました。フリーランスエンジニアになるためのノウハウ、スリランカの事を発信していきます。

【Rails】enum型でカラム名を定義すると、scopeが自動生成される

【Rails】enum型でカラム名を定義すると、scopeが自動生成される


こんにちは、mah(@RailsRubyMah6h)です。


このブログでは、

僕がIT未経験から約1年でフリーランスエンジニアになるまでの過程、

ノウハウなどを書いていきます。


今回は、

  • 【Rails】enum型でカラム名を定義すると、scopeが自動生成される

です。


【Rails】enum型でカラム名を定義すると、scopeが自動生成される





概要


enumで定義したカラム名は、そのまま

モデル.where句の検索条件

のようにする事ができます。


なので、

enumで定義したカラム名のscopeは自分で定義する必要はありません。


参考リンク


Rails5 から enum 使う時は_prefix(接頭辞)_suffix(接尾辞)を使おう - Qiita



enum status: { deleted: -1, left: 0, real: 1 }, _prefix: true

というenumを定義している場合。


Hoge.status_deleted
Hoge.status_left
Hoge.status_real

のように検索出来ます。


検証


Railsコンソールで確認します。

irb(main):004:0> Hoge.status_deleted
# リレーションオブジェクトが返る。
=> #<ActiveRecord::Relation [#<Hoge id: 4, name: "hoge", status: 'deleted']


上記は、下記と同じです。

Hoge.where(status: :real)
Hoge.where(status: :left)
Hoge.where(status: :deleted)


おまけ


インスタンスに対しては、


status_deleted? => 論理値を返す
status_deleted! => deletedに更新する。


のように、判定や更新が出来ます。




以上、

  • enum型でカラム名を定義すると、scopeが自動生成される

でした。




あわせて読みたい


www.malanka.tech


www.malanka.tech


www.malanka.tech


www.malanka.tech


www.malanka.tech


www.malanka.tech




フリーランスエンジニアになりたい方はこちら


フォスターフリーランスという、

フリーランス専門エージェントを使うのがおすすめです。


f:id:mah666hhh:20200615083445p:plain


自分もフォスターフリーランスを使って、

フリーランスエンジニアとしてのキャリアをスタートさせました。


フォスターフリーランスを使うと、

自分の代わりに、

プロの営業さんが案件を探してくれます。


最初の内は、

自分で営業なんてとても出来ないので、

非常にありがたかったです。


しかも無料で利用できる。


話を聞くだけでもOKなので、

ぜひ利用してみてください。


フォスターフリーランス【案件保有数5000件以上。業界20年の超老舗】

無料でフォスターフリーランスに登録


下記の記事で、

フォスターフリーランスの特徴について解説しています。


www.malanka.tech




Rubyを学習するならこちら


Udemy という動画教材です。


はじめてのRuby on Rails入門-RubyとRailsを基礎から学びWebアプリケーションをネットに公開しよう




なんとUdemy は、

60%OFFのセールをやっている時もあります。


こまめにチェックして、

スキルアップを図りましょう★




また、

Ruby関連の過去記事は下記にありますので、

合わせてチェックしてみてください◎


Ruby カテゴリーの記事一覧 - スリ飯屋Malankaのフリーエンジニアな日々

www.malanka.tech




フリーランスエンジニアのデメリットはこちら


今回のコロナで、

参画していたプロジェクトが終了し、被害を受けました。


そこで、

コロナ被害を受けて感じている、

フリーランスエンジニアのデメリット【6つ】について、

noteを書きました。


下記に当てはまる人に、参考になると思います。

現在、フリーランスエンジニアとして生きている人

今からフリーランスエンジニアになろうとしている人

フリーランスエンジニアだが、コロナの影響で仕事が途絶えた人


note.com




最後までお読み頂きありがとうございました★


もしよかったらTwiiterのフォローもお願いします★