0
如何使用通過STI繼承的兩種不同模型保存和查看has_many關係?通過STI使用has_many與多重模型類型
我已經得到了項目基本型號如下:
class Project < ActiveRecord::Base
attr_accessible :slug,
:category_id,
:description,
:name,
:visible,
:note,
:contractor, :contractor_url,
:date_complete, :architect, :architect_url,
:building_year,
:project_type,
:address, :city, :state, :country,
:pictures,
:photo_credit
has_many :pictures, :order=>:id, :dependent => :destroy
Picture.rb:
class Picture < ActiveRecord::Base
attr_accessible :project_id, :image, :caption, :cover, :dimensions
belongs_to :project
並採用STI我有顯示項目的一個子集,並具體首頁項目到主頁:
class HomepageItem < Project
attr_accessible :slug,
:name,
:visible,
:note,
:pictures,
:photo_credit
has_many :pictures, :order=>:id, :dependent => :destroy
這會導致預期在圖片上出現新列的錯誤的代替project_id
PG::UndefinedColumn: ERROR: column pictures.homepage_item_id does not exist
I believe this should be looking on the pictures.project_id column.
注:如果沒有HomepageItem定義的has_many,該項目被保存,但是不會創建任何圖片。這也是一個Rails 3.2.22項目。
謝謝,我仍然得到Rails的繼承掛起,我找不到合適的集的關鍵詞來回答。我可以問你在哪裏找到這個文檔? – Nilloc
嗨,Rails的官方文檔是非常好的http://guides.rubyonrails.org/association_basics.html和http://apidock.com/rails/ActiveRecord/Associations/AssociationCollection 最近我經歷了一個紅寶石軌道課程來自約翰霍普金斯大學coursera.org,它幫助我更好地理解各種概念。如果你有空,就免費試試吧。 https://www.coursera.org/specializations/ruby-on-rails –