Я пытаюсь выполнить задачу «простой список задач», но я не знаю, как отобразить ее на одной странице, как на скриншоте http://joxi.net/v29DKEVcBLB5mG (то есть есть список сохраненных элементова справа - форма для добавления новой).Если все отдельно, это работает для меня, но когда он отображает 2 части на одной странице - ошибка undefined method each for #<Track:0x00007f8fc42c2698> (NoMethodError in Tracks#new)
Вот мой new.html.erb
<h1> Create a New Item!</h1>
<%= render 'table' %>
<%= render 'form' %>
Таблица частичная:
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>All Tracks</th>
<th>It's description</th>
<th>Priority</th>
<th>Date</th>
<th>Delete</th>
<th>Restore</th>
</tr>
</thead>
<tbody>
<% @track.each do |track| %>
<tr>
<td> <%= track.id %> </td>
<td> <%= link_to track.item, edit_track_path(track.id) %> </td>
<td> <%= track.description %> </td>
<td> <%= track.priority %> </td>
<td> <%= track.created_at.strftime('%d/%m/%Y') %> </td>
<td><%= button_to "Delete", track_path(track.id), method: :delete %></td>
<td><%= button_to "Restore", track_path(track.id), method: :put %></td>
</tr>
<% end %>
</tbody>
</table>
И _form частичная:
<%= form_for @track do |f| %>
<p>
<%= f.label :item %><br>
<%= f.text_field :item %>
</p>
<p>
<%= f.label :description %><br>
<%= f.text_area :description %>
</p>
<p>
<%= f.select :priority, priorities,
prompt: "Select priority" %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
<%= link_to 'Back', tracks_path %>
<%= link_to 'Home', root_path %>
И контроллер треков:
class TracksController < ApplicationController
before_action :find_track, only: [:show, :edit, :update, :destroy]
def index
@track = Track.all
end
def show
end
def new
@track = Track.new
end
def create
@track = Track.new(track_params)
if @track.save
flash[:success] = "It works!"
redirect_to tracks_path
else
flash[:success] = "Its wrong!"
render 'new'
end
end
def update
if @track.update(track_params)
redirect_to @track
else
render 'edit'
end
end
def edit
end
def destroy
@track.destroy
redirect_to tracks_path
end
private
def track_params
params.require(:track).permit(:item, :description, :priority)
end
def find_track
@track = Track.find(params[:id])
end
end
Заранее спасибо!