ruby-on-rails – Rails 4找不到关联has_many,通过:关系错误

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 4找不到关联has_many,通过:关系错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对.这只是拒绝工作.在这几个小时.

专辑模特儿

class Album < ActiveRecord::Base
  has_many :features,through: :join_table1
end

特征模型

class Feature < ActiveRecord::Base
  has_many :albums,through: :join_table1
end

join_table1模型

class JoinTable1 < ActiveRecord::Base
  belongs_to :features
  belongs_to :albums
end

join_table1模式

album_id | feature_id

专辑模式

id | title | release_date | genre | artist_id | created_at | updated_at | price | image_path

功能模式

id | feature | created_at | updated_at

在碾压测试数据库并运行此集成测试:

require 'test_helper'

class DataFlowTest < ActionDispatch::IntegrationTest
  test "create new user" do
    album = albums(:one)
    feature = features(:one)
    album.features
  end
end

我得到

ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the association :join_table1 in model Album

为什么是这样?

解决方法

您需要添加has_many:album_features到Album和Feature模型,如:通过引用关联 – 您的错误正是关于它.

或者你可以使用has_and_belongs_to_many,所以不需要定义特殊的链接模型.但是在这种情况下,您必须将表“album_features”命名.

猜你在找的Ruby相关文章