views:

42

answers:

1

Hi, I have recently moved my RoR app on the Heroku platform, and almost everything works fine apart from the videos. It works fine when my app runs in local but not on heroku. This is the error log I'm getting, if anyone knows where it can be coming from:

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 

Thanks

+1  A: 

It looks like you must be trying to do something that writes something that has to do with the videos on the Heroku filesystem. This won't work because it's readonly.

You'll need to store your videos and anything else that currently gets created on the filesystem elsewhere (Amazon S3 works great).

bensie