2016-03-26 12 views
-1

Ruby on Rails üzerinde bir müzik listem var ama bu listeyi her bir kullanıcıya göstereceğim şey yok, sadece kullanıcı başına belirli bir müzik göstermek istiyorum, kullanıcıları yönetmek için kullanıyorum. Kullanıcı bilgilerini raylarda kullanıcı kontrolörü olmadan görüntüleyebilir miyim?

Bu

class MusicaController < ApplicationController 
    def index 
    @musica = Musica.all 
    end 

    def show 
    @musica = Musica.find(params[:id]) 
    end 
end 

yorumlara dayanarak size

+0

'musica' tablonuzun bir' user_id' var mı? – spickermann

+0

Hayır, buna gerek yok mu? –

+0

Hangi kullanıcının hangi şarkının görülebilir olduğunu nasıl belirlemek istersiniz? – spickermann

cevap

0

şükür bu müzik denetleyicisi olan bir kullanıcı kontrolörü

yok kullanıcı modeli

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 
end 

olduğunu Kullanıcıyı Musica'ya bağlayan bir katılma tablosuna ihtiyacınız olacaktır. Bunu istemiyorsanız bir UserController'a ihtiyacınız yoktur, ancak bir kullanıcının mağazadan satın aldığı şarkıların listesini göstermek istediğinizi düşünebilirim. Ben zaten olduğu gibi, çünkü kullanıcılar, malzeme satın almak mümkün olacaktır bir StoreController var tahmin ediyorum

class MusicasController < ApplicationController 
    def index 
    @musicas = current_user.musicas.all 
    end 

    def show 
    @musica = current_user.musicas.find(params[:id]) 
    end 

end 

,: gibi bir şey UserMusica(id:integer user_id:[integer|reference] musica_id:[integer|reference])

class User < ActiveRecord::Base 
    has_many :user_musicas 
    has_many :musicas, through: :user_musicas 
end 

class UserMusica < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :musica 
end 

class Musica < ActiveRecord::Base 
    has_many :user_musicas 
    has_many :users, through: :user_musicas 
end 

Bu şekilde, sorgu olacak MusicasController sadece kullanıcının satın aldığı şeyleri görmesine izin verir. Umarım mantıklı?

İlgili konular