禁用特征中的 FactoryGirl 关联

2024-01-01

在 Rails 应用程序中,我使用 FactoryGirl 定义一个通用工厂以及几个更具体的特征。一般情况和除一个特征之外的所有特征都具有特定的关联,但我想定义一个不创建/构建该关联的特征。我可以使用after设置关联的回调id to nil,但这并不能阻止关联记录的创建。

特征定义中是否有一种方法可以完全禁用为特征所属工厂定义的关联的创建/构建?

例如:

FactoryGirl.define do
  factory :foo do
    attribute "value"
    association :bar

    trait :one do
      # This has the bar association
    end

    trait :two do
      association :bar, turn_off_somehow: true
      # foos created with trait :two will have bar_id = nil
      # and an associated bar will never be created
    end
  end
end

Factory_girl 中的关联只是一个与其他属性一样的属性。使用association :bar设置bar属性,因此您可以通过覆盖它来禁用它nil:

FactoryGirl.define do
  factory :foo do
    attribute "value"
    association :bar

    trait :one do
      # This has the bar association
    end

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

禁用特征中的 FactoryGirl 关联 的相关文章

  • 使用 authlogic_api 进行 Rails REST API 访问

    我正在为 Steam 游戏编写 Rails 后端 API 该游戏只能通过 REST 调用访问 因此不需要特定于用户的身份验证 我正在努力实施authlogic api 插件 http github com phurni authlogic
  • Rails 忽略渲染和redirect_to

    我在这里有一个非常简单的 Rails 问题 但我似乎无法在任何地方找到答案 我想有些问题源于我遵循 Rails 1 2 和 Rails 2 1 的教程 反正 我正在编写一个博客系统 并且正在实现评论位 使用脚本 控制台创建评论后 我的评论显
  • Ruby on Rails 中 RESTful POST 的功能测试

    我想为我正在 Ruby on Rails 应用程序中开发的 RESTful Web 服务编写功能测试 该测试是 POST 请求 其中请求正文是纯 XML 文档而不是表单 有关如何执行此操作的任何指示 我遇到的问题是如何在调用 post 方法
  • 在 Ruby on Rails 中查找两个日期之间的月数

    我有两个 Ruby on Rails DateTime 对象 如何找到它们之间的月份数 请记住它们可能属于不同年份 date2 year 12 date2 month date1 year 12 date1 month 更多信息请访问htt
  • 在heroku cedar上安装GEOS

    我们在 heroku cedar stack 上安装 GEOS 库时遇到了麻烦 我们遵循了这个指南 https devcenter spacialdb com Heroku html https devcenter spacialdb co
  • Rails Bundle,gems 冲突,解决它的最佳方法

    我在使用 Bundle 解决宝石冲突时遇到了麻烦 无法激活 activemodel 3 0 8 actionpack 3 0 8 railties 3 0 8 的构建器 gt 2 1 2 运行时 已激活 的 builder 3 0 0 黄瓜
  • 如何将附加数据传递给设计邮件程序?

    我有一个可以处理许多子域的 Rails 应用程序 并且有多个使用不同域名运行的实时版本 这会导致 URL 介于 mywebsite com company1 mywebsite com company1 mytestwebsite com
  • 捆绑安装--无需生产有什么作用?

    我见过有人使用这个 我自己也按照指示使用它 我只是没有真正理解它的实际作用 我完全理解bundle install部分 但不是 without production一部分 它有什么作用以及我为什么要使用它 如果您的 Gemfile 中有一个
  • 在Unix下,判断执行该程序的用户是否是root?

    我正在编写一个 rake 脚本 并希望检测 如果可能的话 使用 Ruby 而不是 bash 执行 rake 脚本的用户是否具有 root 权限 如果它不是 root 那么我想终止脚本 Use uid http www ruby doc or
  • Rails 路由:仅具有自定义操作的资源

    我有一个NotificationsController 其中我只有动作clear 我想通过执行 POST notifications clear 来访问此操作 所以我在我的路由器中写了这个 resources notifications o
  • Watir 中的鼠标移动/鼠标悬停和 JavaScript 评估

    我有一个 JavaScript 重的 Rails 应用程序 正在 watir 中进行测试 我有两个具体的测试要求 我需要能够模拟将鼠标移动到屏幕的特定区域 或者至少触发 div 的 onmouseover 事件 发生上述情况后评估 Java
  • Rails redirect_to 页面部分

    对于正常的重定向 它会是这样的redirect to root path 我如何重定向到类似的内容 localhost 3000 contact 我不仅想重定向到根 还想重定向到根 还想重定向到根页面的联系部分 这可能吗 这应该有效 red
  • Rails 3 在迁移问题中添加外键

    有谁知道使用迁移在 Rails 3 中创建外键的方法吗 the 外国人宝石 https github com matthuhiggins foreigner对我来说效果很好 它向 Rails 迁移添加了一些方法 可以轻松创建和删除外键 ex
  • Rails sunspot-solr - 带连字符的单词

    我正在使用 sunspot rails gem 到目前为止一切都很完美 但是 我没有得到带有连字符的单词的任何搜索结果 例子 字符串 tron 返回很多结果 所有文章中提到的词都是e tron 字符串 e tron 返回 0 个结果 即使这
  • Ruby/Rails/Rack 代码中的“use”关键字/单词

    最近我偶然在Ruby代码中看到这个词 use 当我正在查看一些与goliath https github com postrank labs goliath 中间件等 看起来它不同于include extend and require 有人
  • 在 Rails 应用程序中查找未使用的图像?

    我熟悉类似的工具自重 http github com aanand deadweight用于查找 Rails 应用程序中未使用的 CSS 但图像是否存在任何内容 我正在参与一个项目 其中包含与各种设计师合作的大量资产目录 并且我正在努力减少
  • 在 Rails 中调用 javascript 函数 onclick

    我的观点之一有以下代码
  • 从 Rails 4 启用 Amazon RDS 中的 hstore 扩展

    我有一个 Rails 4 应用程序 它使用 ActiveRecord 与 PostgreSQL 9 3 数据库交互 该应用程序利用hstorePostgreSQL 中的扩展 用于在单个数据库字段中存储键值对 因此 Rails 会自动检测我对
  • 使文本在 div 内可滚动

    我希望将一些冗长的文本包含到div可以通过向上或向下滚动来查看文本 现在 描述 文本呈现如下并且位于一个 div class div
  • 为什么 Rails 托管在 VM 上时会缓存视图文件并共享 Samba 上的代码库

    我有以下设置 我的本地计算机 OS X 上的代码作为 Samba 共享共享 在 Parallels 中运行的 Ubuntu VM 安装共享 在开发模式下运行 Rails 2 1 通过 Mongrel WEBrick 或乘客 如果我对视图进行

随机推荐