我有幾個功能,在我的模型全球動態路徑變量
#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