Rails denetleyicilerimden birinde Base64 kodlu bir dize almayı, şifresini çözmeyi ve bir dosyaya (.png) yazmaya çalışıyorum.Base64 kodlanmış dizgeyi dosyaya (Ruby on Rails) - tanımlanmamış yöntem `paketten çıkar 'Hata
def create_character
@character = Character.new(params[:character])
@base64 = params[:base64]
File.open("app/assets/images/characters/#{@character.name.gsub(/\s+/, "")}-#{@character.author_name.gsub(/\s+/, "")}.png", 'wb') do |f|
f.write(Base64.decode64(@base64))
end
if @character.save
flash[:notice] = "Character created."
redirect_to(:action => 'share')
else
aşağıdaki hatayı alıyorum:
undefined method `unpack' for #<ActiveSupport::HashWithIndifferentAccess:0x1044b22d8>
yanlış burada ne oluyor İşte benim kodudur?
Düzenleme: BİR GERÇEKTEN garip bir şey, dosyayı yazacak kodun, raylar konsolunda gayet iyi çalışıyor ancak uygulamayı çalıştırırken değil.
'@ base64' değişkenini kaydettiğinizde veya yazdırdığınızda hangi çıktı elde edersiniz? – sarnold