Trong một bộ điều khiển Rails của tôi, tôi đang cố gắng lấy chuỗi mã hóa Base64, giải mã và ghi nó vào tệp (.png). Đây là mã của tôi:Chuỗi mã hóa Base64 vào tệp (Ruby on Rails) - phương thức chưa xác định `giải nén 'Lỗi
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
Tôi nhận được lỗi sau:
undefined method `unpack' for #<ActiveSupport::HashWithIndifferentAccess:0x1044b22d8>
gì đang xảy ra sai ở đây?
Chỉnh sửa: Một điều lạ lùng là mã để viết tệp hoạt động hoàn toàn tốt trong bảng điều khiển đường ray chứ không phải khi chạy ứng dụng.
Bạn nhận được kết quả gì khi bạn đăng nhập hoặc in biến '@ base64'? – sarnold