Jako że to mój pierwszy post witam wszystkich forumowiczów.
Piszę aplikację Rails na pracę magisterską. Ogólnie wszystko działa poza jedną rzeczą. Korzystam z hostingu na heroku. Tamtejszy system plików wymusza korzystanie ze zdalnego hostingu zdjęć. Przesyłam je do mojej aplikacji za pomocą paperclipa. Najprościej było by korzystać z S3 ale nie mam tam konta więc zdecydowałem się na przesyłanie zdjęć na ftp.
Część modelu location związana ze zdjęciami wygląda tak:
[code]has_attached_file :location_photo,
:styles => { :medium => “300x300>”, :thumb => “75x75>” },
:storage => :ftp,
:url => “http://www.ph1l1p.republika.pl/:attachment/:id/:style/:filename”,
:path => “/:attachment/:id/:style/:filename”,
:ftp_credentials => { :host => ‘ftp.republika.com’, :username => ‘ph1l1p’, :password => ‘pass’ },
:ftp_passive_mode => false,
:ftp_timeout => 90,
:ftp_verify_size_on_upload => false,
:ftp_debug_mode => false
validates_attachment_presence :location_photo
validates_attachment_size :location_photo, :less_than => 1.megabytes
validates_attachment_content_type :location_photo, :content_type => [‘image/jpeg’, ‘image/png’][/code]
używam
rails ‘3.1.3’
paperclip (2.4.5)
paperclipftp (0.2.4)
ruby 1.9.2p290
geocoder (1.1.0)
przy odpaleniu z taką konfiguracją gemów dostaję
NameError in Locations#index
Showing /home/philip/mag/app/views/locations/index.html.erb where line #29 raised:
`@[]’ is not allowed as an instance variable name
Po przesłaniu zdjęć przez na serwer i zmianie
gem ‘paperclip’ na gem ‘paperclip’, :git => ‘https://github.com/thoughtbot/paperclip.git’, :branch => ‘master’
lokacje indexuja się ale nie mogę dalej utworzyć nowej lokalizacji i ani edytować już istniejących. Kończy się to:
NoMethodError in LocationsController#create
undefined method `close’ for #Paperclip::UploadedFileAdapter:0x000000046088b8
app/controllers/locations_controller.rb:48:in block in create' app/controllers/locations_controller.rb:47:in
create’
Z góry dziękuje za pomoc.