環境
Rails 5.2
内容
モデルの中で、CSVファイルを1件づつ読み込み、userテーブルに更新する処理を行っています。下記のロジックは正常に動作していますが、文法で分からない個所があります。
updatable_attributesメソッドを読み込む時、先頭にアスタリスクを付けていますが、アスタリスクを付ける意味合いは何なのでしょうか。
class Test01 < ApplicationRecord CSV.foreach(file.path, headers: true) do |row| user = new user.attributes = row.to_hash.slice(*updatable_attributes) user.save end def self.updatable_attributes ["id", "name", "age"] end end
このように書き換えると、上手く動かなくなります。その理由が分かりかねます。
user.attributes = row.to_hash.slice(["id", "name", "age"])
0 コメント