はじめに
ポートフォリオ作成で参考にしたコードで、ルーティングの設定を記述する際に"%i"という文字列が出てきて、どんな意味が分からなかったので調べたものを備忘録として残そうと思います。
%iとは何者なのか
どうやら、"%i"は「%記法」(パーセント記法)という形式の記法の中の一つのようです。
%iを使用することによって、シンボルの配列を作成してくれます。
例を見た方がイメージが湧くかもしれません。
# 例:
%i[red blue yellow white black]
# 下記の配列が作成される
[:red, :blue, :yellow, :white, :black]
%iを使用することにより、":"を記述せずに配列を作り使用することができるということでした。
なので、今回の最初に疑問を持った式を使用すると、下記のようになります。
":"を書く手間を省いたと言うことですね。
resources :~, only: %i[index]
# 下記を書いていることと同義
resources :~, only: [:index]
# 複数のアクションを指定するときはさらに便利そう
resources :~, only: %i[index new create delete]
最後に
%記法には他にも色々あるみたいなので、まとめて調べてみてもいいですね。
"%"とか、"/"とか""を見るとウッ、、ってなるので正規表現についても理解したいなぁと思ってます。