다른 모델 belongs_to 모든 항목을 찾을 수 :레일 나는 다음과 같은 세 가지 모델을 가지고
모델/user.rb을
class User < ActiveRecord::Base
has_many :order_movies
has_many :movies, through: :order_movies
end
모델/movie.rb
class Movie < ActiveRecord::Base
has_many :order_movies
has_many :user, through: :order_movies
end
모델/order_movies .rb
class OrderMovie < ActiveRecord::Base
belongs_to :user
belongs_to :movie
end
이제 돌아오고 싶습니다. 특정 사용자로부터 주문한 모든 영화.
나는 다음과 같은 시도 :def myMovies
@user = User.find(session[:user_id])
@movies = OrderMovie.where(:user_id => @user.id).movie
end
을하지만이 오류가있어 :
undefined method `movie' for #<OrderMovie::ActiveRecord_Relation:0x00000007c38fc8>
이 경우 내 오류가 무엇입니까?
고맙습니다.
불필요한 코드를 작성하고 있습니다. ActiveRecord 협회가이를 처리합니다. 위의 내 솔루션을 참조하십시오. – danielrsmith
글을 쓸뿐만 아니라 DB에 불필요한 쿼리를합니다. 단일 쿼리 대신 두 가지 작업을 수행합니다. – Leito