gpt4 book ai didi

ruby-on-rails - Rails 4 ActiveRecord has_many 通过关系

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:48 25 4
gpt4 key购买 nike

我在为 Rails/ActiveRecord 中的产品/类别关系计算多对多时遇到了麻烦。我相信我目前已正确设置所有内容,但在尝试创建新关系时我不断收到以下错误:

uninitialized constant Categorization::ProductId

我的设置如下...

# app/models/product.rb
class Product < ActiveRecord::Base
has_many :categorizations
has_many :categories, :through => :categorizations
end

# app/models/category.rb
class Category < ActiveRecord::Base
has_many :categorizations
has_many :products, :through => :categorizations
end

# app/models/categorization.rb
class Categorization < ActiveRecord::Base
belongs_to :category_id
belongs_to :product_id
end

如果有帮助,连接表(分类)的迁移文件是:

# db/migrate/20150924153543_create_categorizations.rb
class Categorizations < ActiveRecord::Migration
def change
create_table :categorizations do |t|
t.integer :product_id
t.integer :category_id
t.timestamps null: false
end
end
end

我每次尝试以下操作时都会收到错误消息:

Categorization.new(category_id: 1, product_id: 1)

ID的1,1都存在...

我最关心关系问题,但也...我目前必须通过将一种产品关联到一个类别的单独 URL 来管理这些问题。有没有一种简单的方法可以将多选添加到“添加产品”页面,以便我可以在创建/编辑产品时关联多个?如果不是,我也不太担心,因为我主要关心的是让它正常工作。

谢谢!

最佳答案

# app/models/categorization.rb
class Categorization < ActiveRecord::Base
belongs_to :category
belongs_to :product
end

您对 foreign_keys 和 ActiveRecord 关联感到困惑。

--

product_idcategory_idforeign_keys:

enter image description here

它们基本上帮助 ActiveRecord 在关联的数据表中找到正确的记录。

--

belongs_to :category 是一个 ActiveRecord association

enter image description here

ActiveRecord 自动获取 category 引用并从中构建 SQL 查询。

关于ruby-on-rails - Rails 4 ActiveRecord has_many 通过关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32766938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com