`
a420144030
  • 浏览: 83652 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

has_and_belongs_to_many 方法使用注意

 
阅读更多
Primary key is not allowed in a has_and_belongs_to_many join table (arts_pages).

 由于项目需要使用了has_and_belongs_to_many,在执行代码:

n = Art.find 22
n.pages << Page.new

 

时出现下面错误:

 

Primary key is not allowed in a has_and_belongs_to_many join table (arts_pages)

 

 

原来错误的原因是在我创建的中间表:arts_pages中多了一个id字段

修改办法:

 create_table :arts_pages , :id => false do |t|

 

分享到:
评论

相关推荐

    activemodel-associations, 用于普通 ruby 对象的has_many和belongs_to宏.zip

    activemodel-associations, 用于普通 ruby 对象的has_many和belongs_to宏 ActiveModel::Associations 用于普通 ruby 对象的has_many 和 belongs_to 宏。安装将此行添加到你的应用程序的Gemfile中:gem 'activemodel-

    Ruby on Rails中的ActiveRecord编程指南

    避免改动缺省的 ActiveRecord(表的名字、主键,等等),除非你有一个非常好的理由(像是不受你控制的数据库)。... # 使用 has_and_belongs_to_many class User &lt; ActiveRecord::Base has_and_belongs_to_many :g

    关于Rails中的表关联的程序

    Rails提供了四种基本的关联类型:` belongs_to`、` has_one`、` has_many` 和 `has_and_belongs_to_many`。这些关联允许我们建立对象之间的关系,从而在编程时简化数据的存取。 1. `belongs_to` 关联: 这种关联...

    fixture_dependencies:SequelActiveRecord夹具加载器,用于处理依赖关系图

    支持many_to_one / belongs_to,one_to_many / has_many,many_to_many / has_and_belongs_to_many和has_one / one_to_one关联 以不违反外键约束的方式加载灯具的依赖关系图 有一个非常简单的API...

    one_plus_n_detector:Elixir库可帮助您使用Ecto检测应用程序中的1 + n个查询

    当您具有诸如has_many , has_one或belongs_to has_many的父子关系时,您可以通过一个查询加载父记录,然后为每条记录触发另一个SQL语句以加载相关的孩子。 假设您有以下Ecto模式 defmodule User do use Ecto . ...

    ThinkPHP关联模型操作实例分析

    通常我们所说的关联关系包括下面三种: ◇ 一对一关联 : ONE_TO_ONE , 包括 HAS_ONE 和 BELONGS_TO ◇ 一对多关联 : ONE_TO_MANY , 包括 HAS_MANY 和 BELONGS_TO ◇ 多对多关联 : MANY_TO_MANY 关联定义 数据表...

    ruby声明式语法的实现例子

    has_many和belongs_to其实是Topic类的class method,标准写法是: 代码如下: class Topic &lt; ActiveRecord::Base  Topic.has_many(:posts)  Topic.belongs_to(:user) end 那么has_many可以给我们带来什么呢?...

    SinatraStreetFighter:欢迎使用我简化的Street Fighter模拟版本。 您可以选择一个角色,添加战斗动作以及史诗般的战斗开始的最后阶段!

    特征 楷模用户,角色,移动,舞台用户has_many:字符字符belongs_to :用户字符has_many :动作字符has_many :stages, through: ::moves 阶段has_and_belongs_to_many :移动阶段has_many :characters, ...

    has_array_of:PostgreSQL数组上的ActiveRecord关联

    该插件使用PostgreSQL数组的功能实现了在Rails中进行has_and_belongs_to_many关联的替代方法。 在很多情况下,你只需要或的功能使用许多一对多与连接表是不必要的传统方法。 我们可以只存储id的整数数组。 它是如何...

    has_cache:Rails 缓存存储的便利包装器

    在您的类中使用has_cache提供了一个cached方法,该方法允许自动缓存通常在类或类的实例上可用的方法的结果。 它通过从调用cached的位置推断密钥,减轻了创建和跟踪密钥的麻烦,就像使用标准缓存存储接口一样。 用法...

    thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)

    本文整理总结了thinkPHP3.x常用的常量。分享给大家供大家参考,具体如下: 一、预定义常量 ...MANY_TO_MANY=4 MANY_TO_MANY 关联定义 THINK_VERSION 框架版本号 这些预定义常量不会随着环境的变化而变化。 二、

    Pro Active Record. Databases with Ruby and Rails

    4. **关联**:深入研究Active Record的各种关联类型,如has_many、belongs_to、has_one、has_and_belongs_to_many,以及如何处理关联查询和嵌套关联。 5. **事务**:学习如何使用Active Record事务来保证数据库操作...

    displaying-has-many-through-rails-onl01-seng-pt-032320

    通过关联通过belongs_to,has_many和has_many查询关联。 遍历视图中的关联并显示主要实例的关联数据。 通过has_many识别联接模型。 概述 我们已经看到了如何使用简单的关联在Rails中向我们的用户显示数据,但是更...

    Laravel开发-belongs-to-through

    在传统的Eloquent ORM中,我们有基本的`belongsTo`、`hasOne`、`hasMany`、`belongsToMany`等关系。`belongs-to-through`是这些基础关系的扩展,它通过一个中间模型来连接两个原本没有直接关系的模型。假设我们有三...

    MangoDB:MongoDB KO 3.3(用于3.2、3.1和3.0检查分支)

    to,has_many和has_and_belongs_to_many 验证对象数据,包括嵌入式对象类表扩展的行为-例如Model_Ferrari扩展Model_Car扩展芒果。 其他ORM用户非常熟悉的非常简单的语法芒果数据库一个访问MongoDB的简单包装器。 将...

    ruby on rails在线考试系统

    5. Active Record关联:Rails中的ActiveRecord模型可以定义多种关联,如 belongs_to、has_many、has_one 和 has_and_belongs_to_many。在线考试系统中,试题可能 belongs_to 一个类别,考生 has_many 考试记录。 6....

    浅谈laravel orm 中的一对多关系 hasMany

    这种关系可以通过 Laravel 的 `hasMany` 和 `belongsTo` 方法来定义。 在 Laravel 中,`hasMany` 方法用于定义一个模型拥有一对多关系。例如,在文章模型(Article)中,我们可以定义以下方法来关联评论模型...

    详解YII关联查询

    - **RelationType**: 指定关系的类型,如`self::BELONGS_TO`, `self::HAS_ONE`, `self::HAS_MANY`, `self::MANY_MANY`。 - **ClassName**: 关联的Active Record类的名称。 - **ForeignKey**: 在关系中使用的外键。 -...

    ActiveRecord简单实例代码.zip

    ActiveRecord支持多种关联关系,如`has_many`、`belongs_to`、`has_one`和`has_and_belongs_to_many`。这些关联定义了不同模型之间的关系,例如,一个`User`模型可能`has_many``Posts`,表示用户可以有多个帖子。 ...

Global site tag (gtag.js) - Google Analytics