如何在我的視圖中顯示我的多態關聯?我有以下模型。視圖中的多態關聯
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?如何通過我的視圖顯示多態模型的條目?
更新:
的設計,作爲一個用戶,我希望能夠創建類別,並將其分配給我的博客。每個博客都有一個類別,我希望通過類別模型作爲可分類博客訪問。
它應該是非常好的,如果它像邏輯試圖說的那樣工作,但目前情況並非如此。多態模型應該是優雅的,但現在,多態對我來說很糟糕,並且無法使用。我仍在等待有人幫助我提供更好的解決方案。