내 Rails 컨트롤러 중 하나에서 Base64로 인코딩 된 문자열을 디코드하여 파일 (.png)에 쓰려고합니다.Base64로 인코딩 된 문자열 (Ruby on Rails) - 정의되지 않은 메소드`unpack '오류
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
나는 다음과 같은 오류가 점점 오전 :
undefined method `unpack' for #<ActiveSupport::HashWithIndifferentAccess:0x1044b22d8>
잘못 여기서 뭐하는거야을 여기 내 코드는?
편집 : 하나의 참으로 이상한 점은 파일을 작성하는 코드가 레일즈 콘솔에서 완벽하게 작동하지만 애플리케이션을 실행할 때 그렇지 않다는 것입니다.
'@ base64' 변수를 기록하거나 인쇄 할 때 어떤 결과가 나옵니까? – sarnold