我对 Rails Active Record 关联有点陌生。我尝试建立关系,但在尝试检索数据时出现 ActiveRecord 错误。我是否错误地关联了我的模型?
User 有很多 Uploads,它有很多 UserGraphs:
class User < ActiveRecord::Base
has_many :uploads, through: :user_graphs
end
class Upload < ActiveRecord::Base
has_many :users, through: :user_graphs
end
class UserGraph < ActiveRecord::Base
belongs_to :user
belongs_to :upload
end
我想获取用户的所有上传,以及用户的所有图表。第 2 行在 Rails 控制台中不起作用并给出错误
@user = User.find(1)
@uploads = @user.uploads
错误:
ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the association :user_graphs in model User
额外学分:
如果用户的上传具有 UserGraphs... 不应该是 has_many :uploads
和 has_many :user_graphs, through :uploads
吗?
最佳答案
添加
has_many :user_graphs
到 User
和 Upload
类。
:through 选项在此之上定义了第二个关联。
关于ruby-on-rails - rails : ActiveRecord has_many association not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462409/