ruby-on-rails - rails : ActiveRecord has_many association not working

标签 ruby-on-rails ruby-on-rails-4 rails-activerecord

我对 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 :uploadshas_many :user_graphs, through :uploads 吗?

最佳答案

添加

has_many :user_graphs

UserUpload 类。

:through 选项在此之上定义了第二个关联。

关于ruby-on-rails - rails : ActiveRecord has_many association not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462409/

相关文章:

ruby-on-rails - 如何使用 Active Record 回滚特定的数据库

ruby-on-rails - LiveReload on Rails 4.1.8 无法在 Chrome 或 Safari 中工作

ruby-on-rails - 重新加载模块/类后仍定义 Ruby 方法

javascript - 工作 Twitter-typeahead 的例子?

ruby-on-rails - ActiveRecord 嵌套数组

ruby-on-rails - 如何清除 Ruby 中的内存缓存?

javascript - 如何动态更新其他页面的内容

ruby-on-rails - 迁移中的 attr_accessible

ruby-on-rails - 在 Rails 4 中生成样式表和 javascript 文件的列表或路径

ruby-on-rails - 为什么ActiveRecord的:include do two queries?