2017-01-16 1 views
1

Я фактически работаю над webApp для потоковой музыки.показать мнение не зависит от конкретного ID

Я создал альбом и модель трека.

Трек принадлежит альбому. Альбом has_many tracks

У меня проблемы с моим представлением.

I'v получил индекс, чтобы показать все альбомы и треки, которые идут в.

<table> <thead> 
    <tr> 
     <td>#</td> 
     <td>Title</td> 
     <td>released_at</td> 
    </tr> </thead> <tbody> 
    <% @albums.each do |album|%> 
    <td><%= link_to "show", albums_path%></td> 
    <tr> 
     <td><%= album.id%></td> 
     <td><%= album.title %></td> 
     <td><%= sexy_date(album.released_at)%></td> 
     <td><%= time_ago_in_words(album.released_at)%></td> 
     <td><%= album.tracks_count%></td> 
     <% album.tracks.each do |track|%> 
     <td> 
     <%= track.title%> 
     </td> 
    </tr> 
    <% end %> 
    <% end %> 
</tbody> 

я хотел нажать на определенный альбом с моим link_to

<td><%= link_to "show", albums_path%></td> 

но факт в том, что этот код делает URL localhost: 3000/albums и не localhost: 3000/альбом/1, который я ищу.

Я понимаю, что моя ссылка неправильная, но я не могу найти, что кодировать.

Вот мой Albums_controller

class AlbumsController < ApplicationController 
# before_action :authenticate_user! # before_action :set_track, only: [:show, :edit, :update, :destroy] 



    def index 
    @albums = Album.all 
    end 

    def show end 

    def create 
    @album = Album.new(album_params) end 

    private 
    def set_album 
     @album = Album.find(params[:id]) 
    end 

    def album_params 
     params.require(:album).permit(:title) 
    end end 

Спасибо за помощь :)

ответ

1

Вы сможете сделать ссылку на определенный альбом, выполнив следующие действия:

<td><%= link_to "show", album_path(album)%></td> 

Вот некоторая информация о том, как использовать link_to: http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to

+0

О, спасибо! я буду читать его! Если я напишу ваш код, рельсы скажут мне альбом writte albums_path (альбом), потому что он не знает метод album_path. Тогда все работает, единственное любопытство, это то, когда я нажимаю на шоу. URL-адрес «http: // localhost: 3000/albums.3», а не http: // localhost: 3000/albums/3 «довольно странно?» – Che

+0

Как вы определили альбом в своем файле маршрутов? – Dawcars

+0

i'v получил root to: 'albums # index' и «resource: albums» – Che

Смежные вопросы