Итак, я делаю обучающее руководство по Rails на lynda.com и получаю сообщение об ошибке, которого нет в обучающем видео. Я предполагаю, что это связано с различными версиями Ruby & Rails, которые я использую (последние на сегодняшний день), в отличие от тех, которые они использовали, когда это было записано (я думаю, в 2007 году).
Вот так выглядит мой контроллер:
класс PublicController
def album_list
@albums = Album.find_by_sql('SELECT * FROM albums;')
end
def alt_album_list
release_date = '2011-10-01'
artist = 'Paul'
@albums = Album.find(:all,
:conditions => ["release_date <= ? AND artist LIKE ?", release_date, '%' + artist + '%'],
:order => 'release_date ASC',
:limit => 1, :offset => 1)
render(:action => 'album_list')
end
def one_album_list
release_date = '2011-10-01'
artist = 'Paul'
@album = Album.find(:first,
:conditions => ["release_date <= ? AND artist LIKE ?", release_date, '%' + artist + '%'],
:order => 'release_date ASC')
end
конец
Вот как выглядит мой взгляд:
<html>
<head>
<title></title>
</head>
<body>
Title: <%= @album.title %><br />
Artist: <%= @album.artist %><br />
Genre: <%= @album.genre %><br />
</body>
</html>
Ошибка, которую я получаю при загрузке:
NoMethodError in Public#show_album
Showing C:/Users/<username>/music_library/app/views/public/show_album.rhtml where line #8 raised:
undefined method `title' for nil:NilClass
Extracted source (around line #8):
5:
6: <body>
7:
8: Title: <%= @album.title %><br />
9: Artist: <%= @album.artist %><br />
10: Genre: <%= @album.genre %><br />
11:
Rails.root: C:/Users/<username>/music_library
Application Trace | Framework Trace | Full Trace
app/views/public/show_album.rhtml:8:in `_app_views_public_show_album_rhtml___574395264_32579964__949661750'