내보기에 다형성 연관을 어떻게 표시합니까? 나는 다음과 같은 모델을 가지고있다.보기의 다형성 연관
class Blog < ActiveRecord::Base
belongs_to :users
has_one :category, :as => :categorizable
end
class Category < ActiveRecord::Base
belongs_to :categorizable, :polymorphic => true
end
class User < ActiveRecord::Base
has_many :blogs
has_many :categories, :as => :categorizable
end
그러나 문제는 범주를 표시하려고 할 때 문제가 발생한다는 것입니다.
rails console
=> user = User.first
=> user.blogs
[]
=> user.categories
[]
=> category = user.categories
=> category = Category.new
=> category.name = "Education"
=> category.save!
true
=> user.categories
[#<Category id: 1, name: "Education", categorizable_id: 1, categorizable_type: "User", created_at: "...", updated_at: "...">]
=> user.blogs.create(:title => "...", :body => "...", :category => category)
[#<Blog id: 1, user_id: 1, title: "...", body: "...", created_at: "...", updated_at: "...">]
=> blogs = user.blogs.all
=> blogs.each do |blog|
puts blog.category
end
nil
=> blogs.first.category
[#<Category id: 1, name: "Education", categorizable_id: 1, categorizable_type: "User", created_at: "...", updated_at: "...">]
각 블록을 사용할 때 blog.category가 nil을 반환하는 이유는 무엇입니까? 내보기를 통해 내 다형성 모델의 항목을 어떻게 표시합니까?
업데이트 : 디자인은, 사용자로, 나는 카테고리를 만들고, 내 블로그에 할당 할 수 있도록하려는있다
. 각 블로그에는 카테고리가 하나 있는데 범주 모델을 통해 범주화 할 수있는 블로그로 액세스하고 싶습니다.
로직이 말하려고하는 것처럼 작동한다면 정말 좋겠지 만 현재는 그렇지 않습니다. 다형성 모델은 우아해야하지만, 지금은 다형성이 나를 위해 짜증을 내며 사용할 수 없습니다. 나는 여전히 누군가가 나를 더 나은 해결책을 제공 할 수 있도록 기다리고있다.