我有以下型号:
class Company < ActiveRecord::Base has_and_belongs_to_many :regions class Region < ActiveRecord::Base has_many :requests has_and_belongs_to_many :companies class RequestForProposals < ActiveRecord::Base belongs_to :region
每当我收到一个新的请求,我想向在同一地区活跃的公司发送通知.
我如何将其设置在我的装置中,以便我可以单元测试寻找合适公司的逻辑?
我试过了
region_ids: 1,2 regions: one,two
在company.yml中,但两者都不适用于向公司分配地区.
解决方法
对于
regions: one,two
在company.yml工作中,您需要让rails自动为区域分配ids.这是因为(为了避免在company.yml之前读取regions.yml)rails将从公司灯具的名称中计算连接表中的ID.如果您自己分配了ID,则它们将不会与计算的ID匹配.
从您提供的sql中,您将将区域上的ids设置为1和2,即您的Regions.yml具有
one: id: 1 name: MyString
删除id:1,你应该可以.您还需要更新引用区域的任何其他文件(例如request_for_proposals.yml)替换
region_id: 1
同
region: one
Rails将会意识到将region_id设置为您的灯具中带有标签1的区域的ID.
原文地址:https://www.jb51.cc/ruby/273287.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。