ROR的数据库关联
博客专区 > stoon 的博客 > 博客详情
ROR的数据库关联
stoon 发表于3年前
ROR的数据库关联
  • 发表于 3年前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 学习笔记之ruby on rails部分的数据库关联

belongs_to


:autosave  如果把 :autosave 选项设为 true,保存父对象时,会自动保存所有子对象,并把标记为析构的子对象销毁。
:class_name  如果另一个模型无法从关联的名字获取,可以使用 :class_name 选项指定模型名。例如,如果订单属于顾客,                   但表示顾客的模型是 Patron,就可以这样声明关联
:counter_cache 选项可以提高统计所属对象数量操作的效率。
:dependent 选项的值有两个:
:destroy:销毁对象时,也会在关联对象上调用 destroy 方法;
:delete:销毁对象时,关联的对象不会调用 destroy 方法,而是直接从数据库中删除
:foreign_key  按照约定,用来存储外键的字段名是关联名后加 _id。
:inverse_of 选项指定 belongs_to 关联另一端的 has_many 和 has_one 关联名  ???
:polymorphic 选项为 true 时表明这是个多态关联
:touch 选项设为 true,保存或销毁对象时,关联对象的 updated_at 或 updated_on 字段会自动设为当前时间戳。
:validate 选项设为 true,保存对象时,会同时验证关联对象。该选项的默认值是 false,保存对象时不验证关联对象。

has_one、has_many


:as 选项表明这是多态关联  
:source 选项指定 has_many :through 关联的关联源名字。只有无法从关联名种解出关联源的名字时才需要设置这个选项。
:source_type 选项指定 has_many :through 关联中用来处理多态关联的关联源类型。
:through 选项指定用来执行查询的连接模型。has_many :through 关联是实现多对多关联的一种方式


has_and_belongs_to_many


:association_foreign_key   按照约定,在连接数据表中用来指向另一个模型的外键名是模型名后加 _id。:association_foreign_key 选项可以设置要使用的外键名
:join_table   如果默认按照字典顺序生成的默认名不能满足要求,可以使用 :join_table 选项指定





标签: ROR
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 21
码字总数 10154
×
stoon
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: