내가 시작하는 레코드 회사 웹 사이트를 만들고 있습니다.레일에서 재생 목록 모델링하는 방법
지금은 유효성이있는 작업 아티스트 (사용자) 모델이 있습니다. 이제 아티스트가 노래로 재생 목록을 만드는 방법을 만들어야합니다. 또한이 음악을 모든 사람이 다운로드 할 수 있어야합니다.
이 앨범의 모델과 노래 모델을 만들기 :
이 내 생각이다.
class Album < ActiveRecord::Base
belongs_to :artist
has_many :songs
end
class Song < ActiveRecord::Base
belongs_to :album
end
아티스트는 앨범 양식을 사용하여 앨범을 만듭니다. 그런 다음 별도의 양식으로 특정 앨범에 속하는 곡을 만듭니다. 그들은 각각의 노래를 하나의 앨범에 별도로 추가 할 것이므로 한 앨범에 10 곡이 있다면 노래 양식을 10 번 작성합니다.
아티스트 쇼 페이지에서 아티스트 앨범을 불러서 해당 앨범에 속한 노래 목록을 표시 할 수 있습니다. 그 노래들은 어떤 종류의 플레이어를 통해 연주 될 것입니다. 그런 다음 로그인하지 않은 사용자가 다운로드 버튼을 클릭하면 다운로드 페이지로 이동하여 노래의 멋지게 꾸며진 앨범의 .zip 파일을 다운로드 할 수 있습니다.
저는 이것이 Bandcamp가하는 것과 매우 유사하기를 바랍니다.
어떻게해야합니까? 또는 적어도 시작 했습니까?
을 한 번에 한 단계 씩 제공 할 수 있습니다. 당신은 좋은 출발점과 좋은 논리 경로를 가지고 있습니다. 의심의 여지 당신이 도로 블록을 칠거야하지만 당신은 우리가 28 단계와 함께 당신을 도울 수 전에 1-10 단계를 수행해야합니다. – Anthony
리치 명확하게 잘 밖으로 좋은 대답을 가지고 있지만 하나의 모델 제안을 제공하고 싶었 : 당신이 생각한다면 노래가 하나 이상의 앨범에 속할 수있는 경우, 노래 모델에서 has_and_belongs_to_many 관계를 사용하는 것이 좋습니다 (http://guides.rubyonrails.org/association_basics.html#the-has-and). 많은 사람들과의 관계). belongs_to를 사용하면 아무 문제가 없습니다. 노래가 '가장 큰 히트 곡'앨범과 원래 앨범에서 끝나면 속는 데이터로 끝납니다. 당신에게 문제가되지는 않을지 모르지만 나는 그것을 메모 할 것이라고 생각했습니다. –