我正在研究ROR并向IOS
app提供api。在此应用中,IOS
用户将图像上传到Rails应用。我正在使用paperclip
gem。在运行bundle update
命令之前,这工作正常。现在我收到了这个错误:
SystemStackError (stack level too deep):
actionpack (3.2.3) lib/action_dispatch/middleware/reloader.rb:70
My Gemfile如下所示:
gem 'rails', '3.2.3'
gem 'bootstrap-sass', '2.0.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'paperclip', '~> 3.0'
gem 'activerecord-import', '>= 0.2.0'
gem 'execjs'
gem 'therubyracer'
IOS
开发人员在上传到Rails App之前使用Base64
对图像进行编码。我的Rails应用使用此方法解码photo_data
:
def decode_photo_data
data = StringIO.new(Base64.decode64(self.photo_data))
self.photo = data
end
这一切都运行正常,但我不知道是IOS bug还是Rails bug。如果它是Rails bug,它与回形针或其他东西有关。请帮忙。
答案 0 :(得分:0)
好的,我得到了解决方案。我发现这是一个回形针错误。自从我运行bundle update
命令后,它下载了一个新的回形针版本paperclip-3.4.1
,但在bundle update
或bundle install
之前它正在使用paperclip-3.3.1
,所以现在我将我的Gemfile更新为这个:
gem 'rails', '3.2.3'
gem 'bootstrap-sass', '2.0.0'
gem 'bcrypt-ruby', '3.0.1'
gem 'paperclip', '~> 3.3.1'
它开始在我的情况下再次工作。现在没有错误。