在我的应用程序中,我有用户和项目的模型。用户迁移后的帖子
我希望用户能够关注很多项目。因此,用户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