Techioz Blog

Railsの配列要素に文字列を連結する方法

概要

私は次のような配列を持っています

["first_name"]

それをに変換したいのです

["user.first_name"]

Railsでこれを行う方法がわかりません。

解決策

配列内の値にテキストを追加したい場合は、次のようにデータをループして配列内の各要素に追加することになるでしょう。

my_array = ["test", "test2", "first_name"]
new_array = my_array.collect{|value| "user.#{value}" }

new_array は次のようになります。

[“user.test”、“user.test2”、“user.first_name”]

collect! を使用して元の配列を上書きすることもできます。そのようです

my_array = ["test", "test2", "first_name"]
my_array.collect!{|value| "user.#{value}" }

もちろん、これにより、my_array 内の元のデータが上書きされます。

配列内の 1 つの値だけを変更したい場合は、その配列のインデックスを使用して値を割り当てることができます。

my_array = ["test", "test2", "first_name"]
my_array[1] = "user.#{my_array[1]}}

my_array は次のようになります:

[“テスト”, “user.test2”, “first_name”]

Ruby ドキュメント情報: https://ruby-doc.org/3.2.2/Array.html#method-i-collect

参考までに、collect と map はお互いのエイリアスです。