Я пытаюсь изучить рельсы, и я хотел бы получить более глубокое понимание того, как все это работает. И у меня может быть некоторая путаница в том, что должно быть единственно и что должно быть множественным.Как отлаживать рельсы «неопределенный метод« url »для nil: NilClass»?
У меня есть таблица покрытий в базе данных с 2 столбцами: url и path.
db/schema.rb:
ActiveRecord::Schema.define(version: 20150514120143) do
create_table "covers", force: :cascade do |t|
t.text "url", null: false
t.text "path"
end
...
app/controllers/covers_controller.rb:
def index
#render text: "hello from index in CoversController"
# I can get this render message so I think the routing is ok
@covers = Cover.all
end
...
app/models/cover.rb
class Cover < ActiveRecord::Base
validates :url, presence: true,
length: { minimum: 3 }
end
app/views/covers/index.html.erb:
<h1>List Covers</h1>
<table>
<tr>
<th>url</td>
<th>path</td>
</tr>
<% @covers.each do |cover| %>
<tr>
<td><%= @cover.url %></td>
<td><%= @cover.path %></td>
</tr>
<% end %>
</table>
Когда я перейти к http://localhost:3000/covers, я получаю эту ошибку неопределенный метод `URL» для ноль: NilClass
Есть неприятности действительно, что я получаю NilClass вместо обложки (или обложки?)
Это сделало трюк. Спасибо. Думаю, я вернусь к чтению больше из учебника и Rails. –