У меня есть несколько функций, в моей моделиГлобальных динамический путь переменной
#app/model/game.rb
...
def uncompress_game_files_to_s3
UncompressToS3Job.perform_now(self.files, "assets/#{self.id}/game") if self.files
end
def delete_game_files_from_s3
DeleteFromS3Job.perform_now("assets/#{self.id}/game")
end
def update_game_index_file_url
files = FindFilesOnS3Job.perform_now("index.html", "assets/#{self.id}/game")
self.update_attributes(url: files.first)
end
Во всех этих функциях, я использую "assets/#{self.id}/game"
для атрибута ключа S3. Я хотел бы использовать это выражение как глобальную переменную aws_game_path
.
Я попытался инициализировать его в файле инициализации.
#config/initializers/aws.rb
aws_game_path = "assets/#{self.id}/game"
, но так как он выходит из модельного объема, то возникает ошибка undefined method `id'
. Как объявить такую переменную?
Это не глобальная переменная, это локальная переменная. – sawa