26歳女性メディア技術者がWebプログラマーに転職する物語

26歳女性メディア技術者がWebプログラマーに転職するまでの過程をメインに投稿します。あたたかく見守ってください。

本日のOut Put part30

こんばんは、Ramrinです^^

 

今日も引き続き、ユーザー管理機能の実装にあたりました。

 

先日、自分でも驚きの「ひらめきデー」でして、

ずっと苦戦していたバリデーションと単体テストコードについて、

調べていたら「お!これでいけるんじゃない?」とひらめいて実装したところ、

実装がうまくいきました!!!!

 

こうゆう日がたまにあると楽しいですよね笑

 

そして今日はメンターさんに提出して、追加でご指摘をいただいたところを修正しました。

 

新しく学んだこと

  • バリデーションの条件をまとめる方法

 

with_option ~ do ~ endというコードを使用することで、

バリデーションの条件をまとめることができました。

しかもこれ、入れ子構造をとれるという便利なものでした。

 

with_options presence: true do

 validates :nickname 
 validates :password, format: {with: /\A[a-z\d]{6,100}+\z/i }
 with_options format: {with: /\A[ぁ-んァ-ン一-龥]/ } do
  validates :family_name
 end
 with_options format: {with: /[\p{katakana} ー-&&[^ -~。-゚]]+/} do
  validates :family_name_kana
 end
end

 

おかげでコードがスッキリしました。

 

この調子で頑張ります^^

ではまた/