Ruby1.8.7でacts_as_attachmentするとエラーに
昨日から自宅サーバで動かしているRailsを引越ししているのだけれども、Ruby1.8.6環境では動作していたのに1.8.7だとエラーになった。
こんなかんじでacts_as_attachmentしていて。
class Photo < ActiveRecord::Base acts_as_attachment :storage => :file_system, :resize_to => '200x150'
script/consoleでアクセスするとこんな感じ。
>> Photo.count NoMethodError: undefined method `[]' for #<Enumerable::Enumerator:0xb70d3b28> from /usr/lib/ruby/gems/1.8/gems/activesupport-1.4.4/lib/active_support/core_ext/string/access.rb:43:in `first' from /hogehoge/trunk/vendor/plugins/acts_as_attachment/lib/technoweenie/acts_as_attachment.rb:48:in `acts_as_attachment'
まぁ、以下のように書き換えてやりすごす。
$ pwd /hogehoge/trunk/vendor/plugins/acts_as_attachment/lib/technoweenie $ diff acts_as_attachment.rb.orig acts_as_attachment.rb 48c48 < options[:file_system_path] = options[:file_system_path][1..-1] if options[:file_system_path].first == '/' --- > options[:file_system_path] = options[:file_system_path][1..-1] if options[:file_system_path][0] == '/'