У меня есть связь один ко многим в рельсах, где пользователь has_many: альбомы и альбомы принадлежит_ пользователю: пользователь. Все отлично работает, но страница указателя. Всякий раз, когда я пытаюсь перейти на страницу индекса, я получаю сообщение об ошибке «Нет маршрутов». Есть ли что-то, что я делаю не так? Все мои страницы работают, кроме индексной страницы, на которой показаны все альбомы.
* Вот ошибка (Массив со всей информацией, я усек большую ее часть)
No route matches {:action=>"show", :controller=>"albums", :user_id=>[#<User id: 3}
routes.rb
resources :users do
resources :albums
end
albums_controller.rb
class AlbumsController < ApplicationController
def index
@albums = Album.all
@user = User.all
end
def show
@album = Album.find(params[:id])
end
def new
@album = Album.new
@user = User.new
end
def edit
@album = Album.find(params[:id])
end
def create
@album = current_user.albums.create(params[:album])
if @album.save
redirect_to user_albums_path, :notice => 'Album was successfully created.'
else
render :action => "new"
end
end
def update
@album = Album.find(params[:id])
if @album.update_attributes(params[:album])
redirect_to user_album_path(@album), :notice => 'Album was successfully updated.'
else
render :action => "new"
end
end
def destroy
@album = Album.find(params[:id])
@album.destroy
end
end
Форма для альбомов
<%= form_for ([:user, @album]) , :html => {:multipart => true} do |f| %>
Альбомы index.html.erb
<% for albums in @albums %>
<tr>
<td><%= albums.title %></td>
<td><%= albums.description %></td>
<td><%= albums.user_id %></td>
<td><%= link_to 'Show', user_album_path(@user, albums) %></td>
<td><%= link_to 'Edit', edit_user_album_path(@user, albums) %></td>
<td><%= link_to 'Destroy', user_album_path(@user, albums), confirm: 'Are you sure?', method: :delete %></td>
</tr>
<% end %>