[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Ruby on rails error

mo

12/14/2006 4:03:00 PM

The error and code is below. Any help would be greatly appreciated.


Error is

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occured while evaluating nil.each

Extracted source (around line #6):

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,





Controller is

def selectaction
@video = Video.find :all
end





View is

<table>
<tr>
<% x = 0 %>
<% for video in @videos %>
<td><%= link_to(image_tag("videos/#{video.video_thumbnail}",
:size => '132x99',
:border => 5,
:id => 'thumbnail'),
url_for(:action => 'show', :id => video)
)
%><br>
<b>Title:</b> <%= h video.title %><br>
<b>Host:</b> <%= h video.username %><br>
<b>Views:</b> <%= h video.views %><br>
<b>Skill Level:</b> <%= h video.rating %>/10<br>
<% x = x + 1 %>
<% if x % 2 == 0 %>
<%= "</td></tr><tr>" %>
<% else %>
<%= "</td>" %>
<% end %>
<% end %>
</tr>
</table>

<%= link_to 'Previous page', { :page => @video_pages.current.previous }
if @video_pages.current.previous %>
<%= link_to 'Next page', { :page => @video_pages.current.next } if
@video_pages.current.next %>

<br />

<%= link_to 'New video', :action => 'new' %>
1 Answer

Ilan Berci

12/14/2006 4:40:00 PM

0

Jack Arnst wrote:
> The error and code is below. Any help would be greatly appreciated.
>
>
> Error is
>
> You have a nil object when you didn't expect it!
> You might have expected an instance of Array.
> The error occured while evaluating nil.each
>
> Extracted source (around line #6):
>
> 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,
>
>
>
>
>
> Controller is
>
> def selectaction
> @video = Video.find :all
> end
>
>
>

Jack,

Next time, please use the rails forum for posting rails related issues.

In this particular case, the instance variable in your controller is
"@video" while the variable you are trying to access in your view is
"@videos". Change the name in your controller and everything should be
ok.

Hope this helps

ilan

--
Posted via http://www.ruby-....