undefined method `each' for

Hi all. I am very new to ruby rails and I got this error.

undefined method `each' for #<Video:0x370bdd8> in selectaction.rhtml that calls video controller 3: <table> 4: <tr> 5: <% x = 0 %> 6: <% for video in @videos %> 7: <td><%= link_to(image_tag("videos/#{video.video_thumbnail}", 8: :size => '132x99', 9: :border => 5,

c:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.4/lib/active_record/base.rb:1792:in `method_missing' #{RAILS_ROOT}/app/views/videos/selectaction.rhtml:6:in `_run_rhtml_videos_selectaction'

In videos_controller def selectaction     @videos = Video.find_by_subject("action")   end

Now I didn't define find_by_subject, but doesn't rails do that for me if I have a database table called video with with subject as a field? And does ruby define video for me?

jimjohnlists@yahoo.com wrote:

Hi all. I am very new to ruby rails and I got this error.

undefined method `each' for #<Video:0x370bdd8> in selectaction.rhtml that calls video controller 3: <table> 4: <tr> 5: <% x = 0 %> 6: <% for video in @videos %>

[snip]

In videos_controller def selectaction     @videos = Video.find_by_subject("action")   end

Video.find_by_subject will only return 1 record. @videos then gets set to a single Video, and when you try to loop through a single video rather than a collection of them, you get 'undefined method 'each'.

You want: @videos = Video.find_all_by_subject("action")

Dan Manges

That worked. Thank you so much.