ruby-on-rails - 为什么 has_many 关系不存在 create_* 方法?
问题描述
我有以下型号:
class Post < ApplicationRecord
has_many :metrics
end
class Metric < ApplicationRecord
belongs_to :post
end
我想知道为什么create_metrics
post 实例中没有方法。如果关系是:
class Post < ApplicationRecord
has_one :metric
end
class Metric < ApplicationRecord
belongs_to :post
end
在 post 实例中会有一个方法create_metric
。
解决方案
这里指定了一个 collection.create 方法:https ://guides.rubyonrails.org/association_basics.html#methods-added-by-has-many-collection-create-attributes
在这种特殊情况下,您可以调用:
@metric.posts.create
并使用您想要的数据传递一个对象数组。
推荐阅读
- c - 这是否被认为是未定义的行为 x = ++x % 5;
- node.js - deno vs ts-node:有什么区别
- java - Jax-Rs:使用 BeanParam 将 json 输入映射到 bean 不起作用
- node.js - 有没有办法从nodejs运行elasticsearch
- c++ - c++地图类的价值
- mysql - 触发器未在 MySQL 中触发
- python - 一维数组和二维数组之间的numpy元素明智乘法背后的逻辑
- python - 我如何知道哪个基类将特定属性添加到子类对象
- javascript - Chrome 41 解析 JSON 对象令牌错误
- php - 如何使用 fpdf 在所有页面中设置表头?