2010-03-21 12 views
0

J'ai récemment déplacé mon application RoR sur la plate-forme Heroku, et presque tout fonctionne bien à part les vidéos. Cela fonctionne très bien lorsque mon application fonctionne en local mais pas sur heroku. Ceci est le journal des erreurs que je reçois, si quelqu'un sait où il peut venir de:Problème avec les vidéos sur heroku

Processing VideosController#new (for IP at 2010-03-20 04:32:09) [GET] 
    Session ID: 6abecf60c3369d7c7029e366bb801e08 
    Parameters: {"artist_id"=>"10", "action"=>"new", 
"controller"=>"admin/videos"} 
Rendering within layouts/admin 
Rendering admin/videos/new 
ActionView::TemplateError (undefined method `video_file_relative_path' 
for #<Video:0x2adc9839fe28>) on line #21 of app/views/admin/videos/ 
_form.rhtml: 
18: 
19: <p><label for="videos_image_file">Fichier Vidéo SWF</label><br/> 
20: <% if @video.video_file %> 
21:    <%= link_to image_tag(url_for_file_column("video", 
"video_file", :name => "thumbnail"))+"<br>", {:controller => 
url_for_file_column("video", "video_file")}, :popup => ['new_window', 
'height=200,width=200'] %> 
22: <% end %> 
23: <%= file_column_field 'video', 'video_file' %> 
24: &nbsp;&nbsp;&nbsp; 
    #{RAILS_ROOT}/vendor/rails/activerecord/lib/active_record/base.rb: 
1792:in `method_missing' 
    #{RAILS_ROOT}/vendor/plugins/file_column/lib/file_column_helper.rb: 
75:in `send' 
    #{RAILS_ROOT}/vendor/plugins/file_column/lib/file_column_helper.rb: 
75:in `url_for_file_column' 
    #{RAILS_ROOT}/app/views/admin/videos/_form.rhtml:21:in 
`_run_rhtml_admin_videos__form' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
314:in `send' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
314:in `compile_and_render_template' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
290:in `render_template' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
249:in `render_file' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
264:in `render' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/partials.rb: 
59:in `render_partial' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
benchmarking.rb:33:in `benchmark' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/partials.rb: 
58:in `render_partial' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
276:in `render' 
    #{RAILS_ROOT}/app/views/admin/videos/new.rhtml:4:in 
`_run_rhtml_admin_videos_new' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
314:in `send' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
314:in `compile_and_render_template' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
290:in `render_template' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_view/base.rb: 
249:in `render_file' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
base.rb:699:in `render_file' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
base.rb:621:in `render_with_no_layout' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
layout.rb:243:in `render_without_benchmark' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
benchmarking.rb:53:in `render' 
    /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
benchmarking.rb:53:in `render' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
base.rb:911:in `perform_action_without_filters' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
filters.rb:368:in `perform_action_without_benchmark' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
benchmarking.rb:69:in `perform_action_without_rescue' 
    /usr/local/lib/ruby/1.8/benchmark.rb:293:in `measure' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
benchmarking.rb:69:in `perform_action_without_rescue' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
rescue.rb:82:in `perform_action' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
base.rb:381:in `send' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
base.rb:381:in `process_without_filters' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
filters.rb:377:in `process_without_session_management_support' 
    #{RAILS_ROOT}/vendor/rails/actionpack/lib/action_controller/ 
session_management.rb:117:in `process' 
    #{RAILS_ROOT}/vendor/rails/railties/lib/dispatcher.rb:38:in 
`dispatch' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/rack/adapter/ 
rails.rb:60:in `serve_rails' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/rack/adapter/ 
rails.rb:80:in `call' 
    /home/heroku_rack/lib/static_assets.rb:9:in `call' 
    /home/heroku_rack/lib/last_access.rb:25:in `call' 
    /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb: 
46:in `call' 
    /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb: 
40:in `each' 
    /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/urlmap.rb: 
40:in `call' 
    /home/heroku_rack/lib/date_header.rb:14:in `call' 
    /usr/local/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/builder.rb: 
60:in `call' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/ 
connection.rb:80:in `pre_process' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/ 
connection.rb:78:in `catch' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/ 
connection.rb:78:in `pre_process' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/ 
connection.rb:57:in `process' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/ 
connection.rb:42:in `receive_data' 
    /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.6/lib/ 
eventmachine.rb:240:in `run_machine' 
    /usr/local/lib/ruby/gems/1.8/gems/eventmachine-0.12.6/lib/ 
eventmachine.rb:240:in `run' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/backends/ 
base.rb:57:in `start' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/server.rb: 
150:in `start' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/controllers/ 
controller.rb:80:in `start' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/runner.rb: 
173:in `send' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/runner.rb: 
173:in `run_command' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/lib/thin/runner.rb: 
139:in `run!' 
    /usr/local/lib/ruby/gems/1.8/gems/thin-1.0.1/bin/thin:6 
    /usr/local/bin/thin:20:in `load' 
    /usr/local/bin/thin:20 

Merci

+0

Vous devrez fournir plus d'informations que cela. Comment allez-vous servir les vidéos? –

+0

bien pour l'instant ils ont été déployés avec le projet (ils sont sur le readonly-fs). Mais cela devrait fonctionner puisque les images régulières hébergées de la même manière apparaissent. – Roch

Répondre

1

Il semble que vous devez essayer de faire quelque chose qui écrit quelque chose qui doit faire avec les vidéos sur le système de fichiers Heroku. Cela ne fonctionnera pas car il est en lecture seule.

Vous aurez besoin de stocker vos vidéos et tout ce qui est actuellement créé sur le système de fichiers ailleurs (Amazon S3 fonctionne très bien).