为什么我收到“未定义的方法`assert_valid_keys`”?

2024-05-17

知道为什么我会收到此错误:

Exception encountered: #<NoMethodError: undefined method `assert_valid_keys' for :widget:Symbol>

当我尝试做一个Factory.build(:widget)在以下模型上:

class Widget < ActiveRecord::Base
  belongs_to :designer, :vendor
  # ...
end

当我删除belongs_to行错误消失。


 belongs_to :designer, :vendor

行不通的。:vendor被视为一种选择。当然,没有这样的选择。看docs http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/belongs_to了解更多信息。

如果你需要两个belongs_to关系,只需将代码更改为:

 belongs_to :designer
 belongs_to :vendor
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我收到“未定义的方法`assert_valid_keys`”? 的相关文章

  • RuntimeError:无法修改冻结的数组(Rollbar、Rails 5.1 升级)

    升级到rails 5后无法使用rspec和rollbar 创建 Rails 4 应用程序 升级 gemfile 以使用 Rails 5 尝试添加防滚杆 gem support 标准配置 环境 rb Load the Rails applic
  • Sass::SyntaxError:找不到或无法读取要导入的文件:bootstrap-sprockets

    我在开发和生产部署中突然遇到此错误 自定义 css scss import bootstrap sprockets import bootstrap 错误 生产中 rake aborted Sass SyntaxError File to
  • 如何通过Grape API获取路由

    我使用 gem grape 作为 api 我尝试通过命令获取 api urlrake grape routes namespace grape do desc routes task routes gt environment do API
  • 多步ActiveRecord的模型验证

    考虑具有以下字段的用户模型 名字 必填 姓氏 必填 电子邮件 必填 要求输入密码 电话 必填 大小 10 位数字 地址 必填 以及包含以下步骤的多步骤注册表单 第一步 包含 名字 姓氏 和 电子邮件 字段 第二步输入密码 电话和地址 您将如
  • 载波无法删除图像

    我现在使用 Carrierwave 上传图像 一切都很好 除了一个 当我添加用于删除上传图像的复选框时 我收到错误 无法批量分配受保护的属性 remove image Form Model class Manufacturer lt Act
  • Rails/heroku 从 gem 迁移到 toolbelt

    我曾经在一个项目中使用过 heroku gem 既然工具带已经出来了 我想换一个 我从 Gemfile 中删除了 gem 并通过 gem uninstall heroku 卸载了它 我使用heroku网站上的pkg安装了heroku工具带
  • Rails 多租户架构,限制多个租户的访问范围

    目前我们有一个单租户数据库架构 MySQL 运行着超过 100 个数据库 我们使用 Apartment gem 切换子域上的数据库连接 一切都很顺利 然而 我们现在需要创建所谓的 伞 客户端 它可以访问一组现有客户端的所有数据 我不认为这对
  • 每当 gem 仅在一台机器上有 cronjob 时?

    我们大规模部署了大约十几台服务器 我们想使用每当 gem 但我无法找到一种方法来说明 cron 作业应该在哪台机器上进行 我们只希望这些作业在执行后台作业的服务器上运行 有没有办法指定这一点 如果您使用 Capistrano 部署项目并使用
  • 使用 Devise 和 Rails 从 Twitter Oauth 获取电子邮件

    我已经设置了一个基本的 Rails 应用程序来使用 twitter oauth gem 和设计 并且已经能够登录用户 但是 我的问题是我现在已将我的应用程序列入白名单 并且我想在响应中收到用户的电子邮件 我已遵循 Twitter 端的所有必
  • Rails - 使用 %W

    我有以下效果很好的 def steps w hello billing confirmation end steps first 但我想这样做 def step title w Upload a photo Billing Info Con
  • Flash观看后不清晰

    这是我的创建动作 它创建一个新的 Message 实例 并通过模型验证进行检查 然后有一个简单的 if else 循环 如果模型验证已完成 则发送消息 如果要发送另一个视图 则渲染 新 视图 如果模型验证未得到满足 它只会再次呈现 新 视图
  • Rails validates_与模型的错误消息相关

    我在模型中使用 validates linked 来使用其他模型的验证代码 问题是验证失败的消息是 is invalid 我想将模型验证失败的实际描述错误冒泡到顶部 我发现这个问题 验证与模型的错误消息关联 https stackoverf
  • 如何使用 AngularJS、Devise 和 UI Router 全局实现身份验证?

    我对 Angular 很陌生 所以这可能是一个新手问题 我正在尝试实现一个简单的任务管理器 只是一个练习 以 Rails 作为后端 以 Angular 作为前端 到目前为止 我遵循了教程 一切正常 现在我想在全球范围内实施身份验证 这意味着
  • 使用 RSpec 进行 Rails 片段缓存测试

    我觉得这是一个没有太多记录的主题 至少我在这里找到最佳实践时遇到了很多麻烦 我使用 cache key 在视图中进行片段缓存 tbody employees each do employee cache employee do tr emp
  • 使用 qunit 测试 emberjs/rails/devise 应用程序时“无法验证 CSRF 令牌真实性”

    我有一个 emberjs rails 应用程序 使用设备进行用户身份验证 我正在使用 qunit 构建集成测试 我在运行测试之前手动登录应用程序 测试期间可以处理 GET 请求 但 POST 请求失败 特别是 在发出 POST 请求时 我收
  • 在您的装置数据中发现外键违规。确保您没有引用关联中不存在的标签

    我运行一个测试 rake test TEST test system my test rb 并看到这个 rake test TEST test system my test rb Running 1 tests in a single pr
  • 应该使用 Rspec Gem 在 Belong_to 测试中返回“String:Class 的未定义方法‘reflect_on_association’”

    在我的 Rails 应用程序中 我有我的模型Request Service and ServiceRequest 在我的 models rb 文件中 我有 request rb class Request lt ApplicationRec
  • Ruby/Rails - 访问“查找”表而不对其进行建模?

    这是针对 Ruby on Rails 3 0 x 项目的 我有一个 查找 表 其中包含来自供应商的数据 当我从其他来源导入数据时 我想检查此表 加入 SKU 以获取额外数据 在我的应用程序中为该表创建模型对我来说似乎不合适 我的应用程序永远
  • Rails 应用中静态页面的最佳实践

    我正在为当地企业开发一个 ruby on Rails 应用程序 这些页面是 静态 的 但可以通过我为它们构建的后端 CMS 进行更改 是否有为静态页面创建控制器的最佳实践 现在我有一个带有所有静态路由的站点控制器 如下所示 路线 rb ge
  • “gem install Rails”因 DNS 错误而失败

    rvm use Using home owner rvm gems ruby 2 1 2 gem install rails ERROR While executing gem Gem RemoteFetcher FetchError Er

随机推荐