ActiveRecord 迁移中序列化列的默认值

2024-02-01

所以我有一个序列化列:dimensions,在我的迁移中,我想将该字段设置为默认哈希。

我努力了...

create_table :shipping_profiles do |t|
      t.string      :dimensions_in, :default => {:width => 0, :height => 0, :depth => 0}

and just

t.string :dimensions_in, :default => Hash.new()

但字段最终为空。我如何在创建时为此字段设置默认序列化对象,或者至少确保我的序列化属性始终是哈希?


当 Rails 序列化哈希值以保存在数据库中时,它所做的就是将其转换为 YAML,以便可以将其存储为字符串。要使其在迁移中发挥作用,您所需要做的就是将哈希转换为 yaml...

t.string :dimensions_in, :default => {:width => 0, :height => 0, :depth => 0}.to_yaml

或者,也可以在初始化后将其设置在模型中......

class ShippingProfile < ActiveRecord::Base

  after_initialize :set_default_dimensions

  private

    def set_default_dimensions
      self.dimensions_in ||= {:width => 0, :height => 0, :depth => 0}
    end

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

ActiveRecord 迁移中序列化列的默认值 的相关文章

  • Rails - 动态构建深度嵌套对象(Cocoon /nested_form)

    我目前有一个具有深层嵌套的复杂形式 并且我正在使用Cocoon https github com nathanvda cocoongem 根据需要动态添加部分 例如 如果用户想要在销售表单中添加另一辆车 代码如下所示 div class a
  • Rails 3.1 使用 app/assets/images/subdirectory 下的图像

    在我的 Rails 3 1 应用程序中 我将图像存储在app assets images jquery ui 我不知道如何在 CSS 中访问这些 assets image name png and assets jquery ui imag
  • 分别对用户和管理员进行身份验证

    class ApplicationController lt ActionController Base protect from forgery skip before filter authenticate user only gt w
  • Rails 4 在 capistrano 部署后未检测到应用程序

    我目前正在尝试使用 Capistrano 3 部署 Rails 4 应用程序 一切都很顺利 但我遇到了一个问题 是的 我无法在我的应用程序中运行任何 Rails 命令 这是我相关的 capistrano 插件 gem capistrano
  • -bash:pg_dump:找不到命令

    我正在尝试在本地为我的 Rails 应用程序提取一个生产数据库 我本地的 postgres 版本太低 所以我需要从 9 4 1 更新到 Postgresql 9 6 5 我通过 Homebrew 安装了 Postgres 9 6 6 如下所
  • 程序“gem”可以在以下软件包中找到

    我正在 Virtual Box Ubuntu 13 10 上安装 Ruby on Rails 以下是步骤 ruby v gt 程序 ruby 可以在以下软件包中找到 尝试 sudo apt get install 来源 我的帐户 gt 好的
  • 如何使用Factory Girl生成回形针附件?

    我有一个包含许多图像的模型 Person 其中图像有一个称为数据的回形针附件字段 下面显示了缩写版本 class Person has many images end class Image has attached file data b
  • 在代码中的其他地方设计渲染符号=>向上/形式部分

    我刚刚开始使用 Devise 和 Rails3 我已经完成了身份验证并正在工作并了解基础知识 截至目前 在代表我的主页 首页的主控制器中 我有两个链接 一个链接到 注册 gt sign up 另一个链接根据登录 注销 gt sign in
  • 如何跳过 Devise SessionsController 的 before_filter ?

    我有一个before filter in my ApplicationController 也就是说 对于我的项目中的每个控制器 我怎么能够skip before filter对于设计的SessionsController创造行动 这是我的
  • Rails 中的并行方法

    我的 Rails Web 应用程序有数十种方法 从调用 API 到处理查询结果 这些方法具有以下结构 def method one batch query API process data end def method nth batch
  • Rails:关于产量

    我在a中看到了一些代码导轨 v2 3 app In layout car general html erb 这个视图是由 cars controller 中的方法调用的 我看到了代码 var some car new Object 有两个问
  • 使用 Minitest 测试自定义验证器

    我有多个带有电子邮件验证的模型 因此 我将验证提取到自定义验证器中 我按照以下教程做到了这一点导轨指南 http guides rubyonrails org active record validations html custom va
  • 如何在 JS Rails 响应中包含 HTML?

    我有一个响应 HTML 和 JS AJAX 查询的 FooController app controllers foo controller rb class FooController lt ApplicationController l
  • 自定义变形在rails3上不起作用?

    我正在使用 Rails 3 0 1 并在initializers inflections rb 中有以下代码 ActiveSupport Inflector inflections do inflect inflect irregular
  • 如何创建与 ActiveResource 对象的 ActiveRecord 关系?

    假设我正在为一家已经拥有 People 应用程序的出版公司编写一个图书馆应用程序 所以在我的图书馆应用程序中我有 class Person lt ActiveResource Base self site http api people m
  • save_and_open_page 已停止提供我的 CSS

    我的测试设置工作得很好 每当我打电话时 都能提供正确格式的 css 页面save and open page从测试中 然后 我设置了一些 javascript 测试 并对我的设置进行了一些更改 抱歉 我无法详细说明所有内容 我没有足够详细地
  • Rails Capistrano 3 - 如何将 production.log 文件共享到 Capistrano 的共享文件夹中?

    我正在使用 Capistrano 3 与我的 Rails 应用程序一起部署 问题是 每次我将应用程序部署到服务器时 log development log 文件都会重置 我听说可以将 production log 文件放入共享文件夹中并在每
  • 回滚后是否应该删除迁移

    我对 ruby 和 Rails 相当陌生 刚刚开始了解迁移 我的问题是回滚后删除迁移的最佳实践或正确时间是什么 到目前为止 我读到的内容是回滚后是否删除迁移的观点问题 但是在团队中工作时删除迁移是否有任何重大影响 以及保留迁移文件相对于删除
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上
  • 为什么 Rails 中的区域设置充当全局(使用 Thin 时)?

    我刚刚意识到在控制器中设置区域设置的推荐 Rails 方法 before filter set locale def set locale I18n locale params locale I18n default locale end

随机推荐

  • Twitter bootstrap - 在已打开的模式上打开模式

    这是我的场景 我正在打开一个包含一些记录详细信息的模式窗口 并且有一个 删除 按钮 当用户单击此按钮时 我需要在现有模式上方 上方显示 确认 模式 询问 您确定吗 但是当显示此确认模式时 它不会首先阻止 详细信息 模态 后面 有谁知道我该怎
  • Flutter:绑定尚未初始化

    将 FLutter 升级到3 0 0我在使用时遇到这个错误计算隔离 知道我已经在 main dart 中初始化了 void main async WidgetsFlutterBinding ensureInitialized 我在Flutt
  • 如何让 cscope 在搜索过程中显示完整文件路径

    当我使用以下命令搜索 C 符号或全局定义时cscope 它显示文件名和行号 我想查看完整的文件路径 以便我可以跳转到我的拱门特定文件 例如 当搜索全局定义时 switch to on cscope在 Linux 代码库上构建 我得到 Glo
  • Nodejs:查询中数组的 url.parse 问题

    http domain com action params 1 params 2 params 3 returns query params 1 2 3 params 作为名称而不是params PHP 之后 有点令人惊讶 jQuery 序
  • 自动映射器更新现有对象而不是创建新对象[重复]

    这个问题在这里已经有答案了 有什么办法可以使用吗自动映射器5 1 1更新现有对象而不是创建新对象 例如我们有一个Customer实体和一个CustomerViewModel 我们想更新现有的Customer与CustomerViewMode
  • 如何在 PHP 中通过 GET 请求传递输入名称

    我正在 PHP OOP 中构建一个网站 CMS 在这个 CMS 中 基本上有一个选项可供网站管理员更新其导航菜单项 所以它基本上看起来像这样 打印屏幕 https i stack imgur com UH1SG png 其代码如下
  • Chrome 扩展:Javascript 能否拦截文件下载并解析数据

    我正在编写一个 Chrome 扩展来自动执行我的一项日常任务 该任务的一部分是下载 csv 文件并操作数据 作为自动化的一部分 我想用 Javascript 抓取文件并让脚本操作它 问题是使用 XMLHttpRequest 获取此文件将是一
  • 如何在 SwiftUI 中为按钮创建触觉反馈

    我正在尝试在 SwiftUI 中点击按钮时实现触觉反馈 因此我尝试使用synchronousGesture 但我仍然在挣扎 我无法弄清楚水龙头何时开始 另外 Swift UI 没有实现触觉反馈 所以我想我会从 UIKit 中将它混合起来 我
  • 按两个条件分组的多个箱线图

    我在单个图中制作多个箱线图时遇到了真正的麻烦 我有五个变量 其中三个是数字 两个是因子 我想要所有三个数值变量的箱线图 但按两个因子变量分组 该图应有两组 分别为低和高 三个框为 MM ND 和 BB 图例应包含 MM ND 和 BB 的缩
  • 在pymongo中使用explain("executionStats")进行查询

    我的请求有问题 包括explain 例如 以下请求效果很好 pp pprint col find cuisine Italian name 1 address zipcode 1 address coord 1 explain 的项目清单e
  • 如何使用Jetpack compose实现交错网格布局?

    据我所知 我们只能使用Rows and Columns in Jetpack Compose显示列表 如何实现如下图所示的交错网格布局 它的正常实现使用Recyclerview交错网格布局管理器非常简单 但如何在 Jetpack Compo
  • clickhouse 将采样缩减为 OHLC 时间条间隔

    对于一张桌子 例如包含日期 价格时间序列 每个价格例如毫秒 如何将其下采样为具有时间间隔的开高低收 ohlc 行组 例如分钟 虽然使用数组的选项可以工作 但这里最简单的选项是使用按时间间隔分组的组合min max argMin argMax
  • 相当于 Akka,但适用于 .NET(并发框架)

    有没有相当于Akka http akka io 但对于 NET http doc akka io use cases http doc akka io use cases 这是 我的 正在进行的 NET Akka actor 端口 编辑 该
  • 如何使用 jquery 检查选​​择元素是否仍然“打开”/活动

    无论如何 我是否可以通过 jQuery 检测选择表单元素当前是否处于活动状态 我创建了这个小提琴来演示这个问题 http jsfiddle net E2PhT 2 http jsfiddle net E2PhT 2 当您将鼠标悬停在 搜索
  • 如何使用 PostgreSQL 计数估计来加速 Django 的管理页面?

    众所周知 当数据库表有很多行时 Django 的管理列表视图会变得相当慢 这是因为 Django 分页器默认使用 慢 PostgreSQLCOUNT query 因为估计对我们来说很好 而且速度要快得多 例如 SELECT reltuple
  • 如何在 OpenCV 中将轮廓分割为开放弧

    I have the image below and I need to split the contour to create various 30 degrees arc which I then need to fit a circl
  • 来自未知来源的 MPI 接收

    我正在 MPI 中实现一个程序 其中主进程 等级 0 应该能够接收来自其他进程的请求 这些进程要求只有根才知道的变量值 如果我按等级 0 进行 MPI Recv 我必须指定向根发送请求的进程的等级 但我无法控制它 因为进程不按顺序运行 1
  • 即使设置为原始值,angular2 formcontrol 仍保持脏状态

    当我更改输入字段中的值时 相应的表单控件将设置为脏 当我恢复更改 通过在输入字段中键入 时 表单控件保持脏状态 这是有意为之 这是一个错误还是我做错了什么 嗯 是的 它本来就是这样工作的 因为 一个控制是dirty如果用户已经改变UI 中的
  • java中@符号是什么意思?

    我知道它在出于文档目的的评论中意味着什么 但除此之外它意味着什么 我通常会用谷歌搜索这个 但每个非字母符号都会出现在结果中 The 符号表示 Java 注释 Java 注释的作用是向变量 方法 类 接口或其他语言元素添加特殊属性 这可以在声
  • ActiveRecord 迁移中序列化列的默认值

    所以我有一个序列化列 dimensions 在我的迁移中 我想将该字段设置为默认哈希 我努力了 create table shipping profiles do t t string dimensions in default gt wi