加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby on Rails 5.0中的has_many关系

发布时间:2020-12-17 01:56:45 所属栏目:百科 来源:网络整理
导读:在我的Rails应用程序中出现问题时,我一直在苦苦挣扎一段时间.我有三个类,Merchandise,MerchandiseCategory和MerchandiseMerchandiseCategory. MerchandiseMerchandiseCategory用于创建其他两个之间的多对多关系. 当我在Rails控制台中运行以下命令时,我得到相
在我的Rails应用程序中出现问题时,我一直在苦苦挣扎一段时间.我有三个类,Merchandise,MerchandiseCategory和MerchandiseMerchandiseCategory. MerchandiseMerchandiseCategory用于创建其他两个之间的多对多关系.

当我在Rails控制台中运行以下命令时,我得到相应的结果:

m = MerchandiseMerchandiseCategory.first
# Returns an object that relates the first Merchandise
# with the first Merchandise Category

m.merchandise_category
# Returns the corresponding merchandise_category

m.merchandise_category.merchandise_merchandise_categories.first
# Returns an array of all corresponding MerchandiseMerchandiseCategy ids

m.merchandise
# Returns the corresponding merchandise

m.merchandise.merchandise_merchandise_categories.first
# LoadError: Unable to autoload constant
# Merchandise::MerchandiseMerchandiseCategory,expected
# /home/bjarki/Development/h2/app/models/merchandise/merchandise_merchandise_category.rb
# to define it

因此,除了Merchandise和MerchandiseMerchandiseCategory之间的一对多关系外,所有关系都有效.我已经尝试了我能想到的一切,包括删除商品模型并重新创建它.

这些是我正在使用的课程

merchandise.rb

# branch_id: uuid
# name: string
# price: integer
class Merchandise < ApplicationRecord
  has_many :merchandise_merchandise_categories
  has_many :categories,class_name: :MerchandiseCategory,through: :merchandise_merchandise_categories
  belongs_to :branch
end

merchandise_category.rb

# branch_id: uuid
# name : string
class MerchandiseCategory < ApplicationRecord
  has_many :merchandise_merchandise_categories
  has_many :merchandises,through: :merchandise_merchandise_categories
  belongs_to :branch
end

merchandise_merchandise_category.rb

# merchandise_id: uuid
# merchandise_category_id: uuid
class MerchandiseMerchandiseCategory < ApplicationRecord
  belongs_to :merchandise
  belongs_to :merchandise_category
end

这让我在最后的日子里疯狂了.如果有人能指出我正确的方向,我将非常感激.

解决方法

merchandise_merchandise_category.rb in

app/models/merchandise/merchandise_merchandise_category.rb

让我知道

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读