将模型引用添加到现有 Rails 模型

2024-04-06

我想知道在两个之间添加关系的“正确”方法existingRails 3 中的类。

给定现有模型:小丑和兔子

我想添加从兔子到小丑的引用(belongs_to)。我首先尝试生成迁移:

rails g migration AddClownToRabbits clown:reference

这给了我一个看起来像这样的迁移:

class AddClownToRabbits < ActiveRecord::Migration
  def self.up
    add_column :rabbits, :clown, :reference
  end

  def self.down
    remove_column :rabbits, :clown
  end
end

After rake db:migrate在这次迁移中,我检查了 SQLite3 的development.db 并看到一个新列:"clown" reference

我想我在期待一个"clown_id" integer列和迁移看起来像:

class AddClownToRabbits < ActiveRecord::Migration
  def self.up
    add_column :rabbits, :clown_id
  end

  def self.down
    remove_column :rabbits, :clown_id
  end
end

我确信 :reference 应该等同于“t.references :clown”,但我找不到文档(大惊喜)。 API说add_column:Instantiates a new column for the table. The type parameter is normally one of the migrations native types, which is one of the following: :primary_key, :string, :text, :integer, :float, :decimal, :datetime, :timestamp, :time, :date, :binary, :boolean.

...没有参考至:参考。


如果您使用边缘导轨 (4.0),您可以使用:

rails generate migration AddAddressRefToContacts address:references

正如你所看到的docs http://edgeguides.rubyonrails.org/migrations.html.

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

将模型引用添加到现有 Rails 模型 的相关文章

  • 如果父模型是新的并且子模型中不为空,则 ActiveAdmin has_many 表单不会保存

    我有两个模型 Room and Student Room has many Students Student belongs to Room 我收到一个错误房间不能为空当我在创建新房间期间尝试将学生添加到房间时 我的猜测是 提交后 子对象
  • Rails minitest,数据库清理器如何将 use_transactional_fixtures = false

    我想在 ministest 中禁用 use transactional fixtures false 以捕获 after commit 回调 我应该设置什么以及在哪里设置 你有几个选择 一种是创建一个没有事务固定装置的测试 并希望对测试数据
  • C# 中的序列化和对象版本控制

    如果我想序列化一个对象 我必须使用 Serializable 属性和所有成员变量将被写入该文件 我不知道如何进行版本控制 例如如果我添加一个新的成员变量 重命名变量或仅删除变量 然后打开 反序列化 文件 如何确定对象 文件版本 以便我可以正
  • Rails 验证日期范围的唯一性

    我有一个涉及员工缺勤记录的应用程序 我需要确保每条记录的开始日期和结束日期不重叠 例如 如果我输入了从今天开始到明天结束的缺勤记录 则不可能以任何方式在该日期范围内输入另一个缺勤记录 所以我不能制作一个从前天开始 然后在后天或任何更晚的日期
  • Rails:调用其他模型的无表模型

    我有一个 Rails 应用程序 其中包含一些模型类 例如Category Subcategory User ETC 为了实现一个不太简单的过滤器功能 我构建了一个过滤器类的层次结构 FilterCategory FilterSubcateg
  • Rails f.check_box 设置选中/未选中值

    所以我在 Rails 中得到了一个带有复选框的表单助手 我希望该复选框在选中或取消选中时具有 thatvalue 或 thisvalue 值 我还没有找到如何设置它的地方 f check box field 我发现了类似的东西 但它不起作用
  • 部署到 Heroku 时使用 Rails Secrets.yml 且无需将密钥暴露给公共存储库的分步说明

    我正在使用 Rails 4 1 1 和 ruby 2 0 0 我目前已经忽略了 github 的 gitignore 中的 Secrets yml 文件 秘密 yml development secret key base numb3r57
  • 如何使用 Rails 应用程序中的 s3 在存储桶之间复制文件?

    我目前正在开发一个 Rails 应用程序 尝试将视频从 s3 中的一个存储桶复制 移动到另一个存储桶 但是我在 Rails 应用程序上不断收到代理错误 502 在杂种日志中 它显示 无法分配内存 一旦发生此错误 应用程序就会终止 我们必须重
  • 如何在 Rails 6 中禁用 TurboLinks?

    所以我面临这个问题 我的服务器实际上从客户端的请求中检索了正确的数据 并将这些数据发送到浏览器 我可以清楚地看到它可用于浏览器 CTRL SHIFT C gt Network gt my request 但是 浏览器不会刷新 所以我现在看到
  • 如何使用 ruby​​ 的循环和 haml 创建表?

    我正在尝试制作一个如下所示的 html 表 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 我的数据结构是这样的 f ary 1 250 这是我的哈姆尔代码 table border gt 1 tbody tr cnt 0 f
  • Rails:关于产量

    我在a中看到了一些代码导轨 v2 3 app In layout car general html erb 这个视图是由 cars controller 中的方法调用的 我看到了代码 var some car new Object 有两个问
  • Rails 3 - “无法解析 Yaml”

    我不知道我做错了什么 我尝试运行 rails c 但它只是给了我一个错误 10 分钟前它还在工作 C Ruby192 lib ruby 1 9 1 psych rb 148 in parse couldn t parse YAML at l
  • 数据库分片和 Rails

    在 Rails 中处理分片数据库的最佳方法是什么 分片应该在应用层 活动记录层 数据库驱动层 代理层还是其他层处理 各自的优点和缺点是什么 FiveRuns 有一个名为的 gem数据结构 https github com bpot data
  • Ruby on Rails 3 - 为每个请求重新加载 lib 目录

    我正在为 Rails 3 应用程序创建一个新引擎 正如您所猜测的 该引擎位于我的应用程序的 lib 目录中 但是 我在开发它时遇到了一些问题 事实上 每次更改引擎中的某些内容时 我都需要重新启动服务器 有办法避免这种情况吗 我可以强制rai
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • Rails Capistrano 3 - 如何将 production.log 文件共享到 Capistrano 的共享文件夹中?

    我正在使用 Capistrano 3 与我的 Rails 应用程序一起部署 问题是 每次我将应用程序部署到服务器时 log development log 文件都会重置 我听说可以将 production log 文件放入共享文件夹中并在每
  • 如何在服务调用后检查 rspec 中的数组更改?

    目标很简单 例如我们有一个数组 name ghost state rejected name donkey state rejected 运行服务调用后UpdateAllUsers 这会将所有用户更改为 accepted name ghos
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上
  • 有时您可能需要重新启动 Webrick 才能看到所做的更改,这是否正确?

    我听 Kevin Skoglund lynda com 说 养成在开发过程中频繁重新启动 Webrick 的习惯是一个很好的习惯 虽然通常您不需要重新启动 Webrick 来查看更改 但他暗示在某些特殊情况下可能需要这样做 有谁知道这些情况
  • Rails 4 的 mobile_fu

    我正在尝试将我的应用程序从 Rails 3 2 13 切换到 Rails 4 在此过程中 我遇到了一个主要障碍 我使用 gem mobile fu 来确定用户是否来自移动设备 该 gem 需要 Railties 3 2 13 但 Rails

随机推荐

  • 无法解析 ACRA 4.7.0 中的方法“formKey”

    我今天尝试为我的 Android 项目设置 acra 但没有成功 我按照说明操作 在 gradle 中导入了 acra lib 编译 ch acra acra 4 7 0 然后我添加了这个 ReportsCrashes formKey ma
  • 告诉 urllib2 使用自定义 DNS

    我想告诉urllib2 urlopen or a 定制开瓶器 使用127 0 0 1 or 1 来解析地址 我不会改变我的 etc resolv conf 然而 一种可能的解决方案是使用类似的工具dnspython查询地址和httplib构
  • 在 Kotlin 中制作函数块

    我很高兴这可能已经得到解答 但我无法找到适合我的解决方案 Tl dr 如何制作功能块 我有以下用 Kotlin 为 Android API 28 编写的 BLE 相关代码 override fun onServicesDiscovered
  • 如何解决 SceneKit double notsupported 错误?

    过去几天我一直在研究 iOS 版 SceneKit 我在尝试创建自定义几何图形时遇到了一个问题 每当我尝试显示几何图形时 它都不会绘制 并在运行时向我显示此错误 SceneKit 错误 C3DRendererContextSetupResi
  • C# 无法从应用程序成功启动中打开串行端口

    因此 我正在打开这个端口并将端口名称保存在我的应用程序设置中 当我加载表单时 它尝试打开端口 但失败了 仅在单击我的 开放端口 按钮后EXACT端口打开时使用相同的代码 然后 如果我单击 关闭端口 按钮并重新打开表单 它就可以工作了 它会自
  • System.Windows.Forms.HtmlDocument 不包含 GetElementByID 的定义

    您能解释一下为什么我会收到此错误吗 private void startButton Click object sender EventArgs e HtmlElement mainNav webBrowser1 Document GetE
  • Perl 中的列表运算符优先级

    我正在读 Beginning Perl 一书 它给出了以下两条语句 print Test one 6 gt 3 3 gt 4 n print Test two 6 gt 3 and 3 gt 4 n 第一行不打印任何内容并换行 第二行打印
  • 创建向量空间

    我有一个问题 我有很多文档 每一行都是由某种模式构建的 当然 我有这一系列的图案 我想创建一些向量空间 然后通过某种规则来向量这个模式 我还不知道这个规则是什么 即使这个模式像我的向量空间的 质心 然后向量当前文档的每一行 再次按照此规则
  • 如何在 .NET Core 应用程序 Docker 映像中包含依赖项?

    我正在尝试构建 NET Core 应用程序 Docker 映像 但我不知道如何将项目的 NuGet 依赖项获取到图像中 为简单起见 我创建了一个 NET Core 控制台应用程序 using System using Newtonsoft
  • 使用 C# 生成随机数

    我正在考虑生成 1 到 500 万之间的随机数 这个过程不必很快 尽管如果快的话就好了 但它必须尽可能随机 我知道没有什么是随机的 我有多种种子数据源 我不确定是否 NET http en wikipedia org wiki NET Fr
  • 在 Javascript 中将变量名转换为字符串?

    我在 Stack Overflow 上看到过一些关于此问题的其他帖子 但答案似乎总是创建一个带有键 值对的对象 这似乎不是我目前的情况所需要的 我想要做什么 我有不同的数组 其中可能包含用户名 我想检查每个数组 看看用户名是否作为其中的值存
  • 哪些错误适用于不同的 FindBugs 报告级别?

    根据 Ant 任务 报告级别是低 中 高设置 用于查找不同严重程度级别的错误 然而 我找不到任何东西可以解释哪些错误适用于这些不同的报告级别 是否有某个地方可以提供此功能 即使我需要在源代码中查看它 不幸的是 错误类型和优先级之间的关联存在
  • SwiftUI UIViewRepresentable UITextView 绑定

    目前 SwiftUI 本身不支持多行文本输入 希望很快就会添加此功能 所以我一直在尝试使用组合框架来实现 UIKit 中的 UITextView 它支持多行输入 但是我得到的结果好坏参半 这是我创建的用于制作文本视图的代码 struct M
  • 使用默认值初始化方法的参数

    如果未将显式值传递到方法中 我想用一些默认值初始化方法的参数 如下所示 class Example def init self data self default data self data data def default data r
  • Safari 上使用 React 的日期选择器

    我的应用程序使用 Form Input 来自语义 UI 反应 https react semantic ui com collections form 库插入日期 它在 Chrome 和 Firefox 上显示日期选择器 但在 Safari
  • 在 django-oscar 中集成包含重定向的付款方式

    我正在使用 django oscar 框架开发一个购物网站 实际上我正在使用他们的沙箱网站 我想在结帐流程中添加付款功能 但问题是 我完全困惑了 我已阅读此链接 奥斯卡的支付集成文档 http django oscar readthedoc
  • 如何摆脱 Eclipse 查找/替换栏

    For searching a document I like using the floating Find Replace window that pops up Lately however hitting command F pul
  • 使用 Phonegap 启动图像后白屏闪烁

    加载启动图像后 在加载应用程序之前我会看到一个白屏 我正在将phonegap 与xcode 结合使用 我希望我的应用程序加载到我的启动图像上 以便它遵循 ios 开发人员指南并提供流畅的启动体验 我认为这个白屏是我的应用程序加载的网络视图
  • 从具体类派生抽象类

    假设我们有一个具体的class Apple Apple 对象可以被实例化 现在 有人来导出一个摘要class Peach来自苹果 它是抽象的 因为它引入了新的纯虚函数 Peach 的用户现在被迫从它派生并定义这个新函数 这是常见的模式吗 这
  • 将模型引用添加到现有 Rails 模型

    我想知道在两个之间添加关系的 正确 方法existingRails 3 中的类 给定现有模型 小丑和兔子 我想添加从兔子到小丑的引用 belongs to 我首先尝试生成迁移 rails g migration AddClownToRabb