在我的應用程序中,我有用戶和項目的模型。用戶遷移後的帖子
我希望用戶能夠關注很多項目。因此,用戶has_many項目以及項目belongs_to不僅創建了它們的用戶,還有跟隨它們的用戶。
因此,我生成了一個名爲ProjectRelationship
的遷移,並試圖使其在下面流動,但似乎不起作用。有人可以幫助我解決我的關聯嗎?
感謝您的幫助!
project_relationship.rb
class ProjectRelationship < ActiveRecord::Base
belongs_to :user
belongs_to :project
end
project.rb
belongs_to :user
has_many :project_relationships
has_many :followers, through: :project_relationships, source: :user
user.rb
has_many :projects
has_many :project_relationships
has_many :projects_followed, through: :project_relationships, source: :project
個schema.rb
create_table "project_relationships", :force => true do |t|
t.integer "follower_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "projectuser_id"
end
add_index "project_relationships", ["follower_id"], :name => "index_project_relationships_on_follower_id", :unique => true
add_index "project_relationships", ["projectuser_id"], :name => "index_project_relationships_on_projectuser_id"
項目/ show.html.erb
<%= @project.followers.count %>
那麼,真正的問題是什麼?當你運行代碼時發生了什麼,它與你期望的有什麼不同? – sosborn 2013-04-20 03:49:24
我不知道如果我得到的關聯正確,因爲我得到以下錯誤:項目中的ActiveRecord :: StatementInvalid#show; SQLite3 :: SQLException:no such column:project_relationships.project_id:SELECT COUNT(*)FROM「users」INNER JOIN「project_relationships」ON「users」。「id」=「project_relationships」。「user_id」WHERE「project_relationships」。「project_id 「= 23 – spl 2013-04-20 03:51:48
您是否真的爲所有模型創建遷移?您的模式看起來像您創建的所有項目都是針對project_relationships的遷移。 – sosborn 2013-04-20 03:53:20