-1
Я пытаюсь изменить веб-приложение в рельсах и он бросает ошибкунеопределенный метод `каждый» для ноль: NilClass - Рубин на Rails
undefined method `each' for nil:NilClass
в - @movies.each do |movie|
Здесь есть индекс HTML Haml файл
%h1 All Movies
= form_tag movies_path, :id=>"ratings_form", :method => :get do
Include:
- @all_ratings.each do |rating|
= rating
= check_box_tag "ratings[#{rating}]",1, (true if @ratings[rating]), :id=>"ratings_#{rating}."
= submit_tag 'Refresh', {:id=>"ratings_submit"}
%table#movies
%thead
%tr
%th{:class=>("hilite" if @sort_by =="title")}= link_to 'Movie Title', movies_path(:sort_by=>"title", :ratings=>@ratings), :id=>"title_header"
%th Rating
%th{:class=>("hilite" if @sort_by =="release_date")}= link_to 'Release Date', movies_path(:sort_by=>"release_date", :ratings=>@ratings), :id=>"release_date_header"
%th More Info
%tbody
- @movies.each do |movie|
%tr
%td= movie.title
%td= movie.rating
%td= movie.release_date
%td= link_to "More about #{movie.title}", movie_path(movie)
= link_to 'Add new movie', new_movie_path
Здесь индекс весело в файле controller.rb
def index
@all_ratings = Movie.all_ratings
redirect = false
logger.debug(session.inspect)
if params[:sort_by]
@sort_by = params[:sort_by]
session[:sort_by] = params[:sort_by]
elsif session[:sort_by]
@sort_by = session[:sort_by]
redirect = true
else
@sort_by = nil
end
if params[:commit] == "Refresh" and params[:rating].nil?
@ratings = nil
session[:ratings] = nil
elsif params[:ratings]
@ratings = params[:ratings]
session[:ratings] = params[:ratings]
elsif session[:ratings]
@ratings = session[:ratings]
redirect = true
else
@ratings = nil
end
if redirect
flash.keep
redirect_to movies_path :sort_by=>@sort_by, :ratings=>@ratings
end
if @ratings and @sort_by
@movies = Movie.where(:rating => @ratings.keys).order(@sort_by)
elsif @ratings
@movies = Movie.where(:rating => @ratings.keys)
elsif @sort_by
@movies = Movie.order(@sort_by)
else
@movie = Movie.all
end
if [email protected]
@ratings = Hash.new
end
end
Где ошибка?
Черт. Плохая ошибка! Большое спасибо. – Aiyoyo