Rails 模型属性在数据库中没有相应的列

2024-02-13

我有一些不需要任何持久性的 Rails 模型,但是我希望 Rails 认为该模型实际上具有属性 x、y、z,因此当在控制器中调用像 to_json 这样的方法时,我可以免费获得它们。

例如,

class ModelWithoutTableColumns << ActiveRecord::Base

def x
   return "Custom stuff here"
end

数据库中没有表“ModelWithoutTable”的 x 列(抱歉,名称有点令人困惑!)

有人知道如何解决这个问题吗?


听起来你想要 ActiveModel。查看http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/ http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/Yehuda Katz 的精彩演练。特别是名为“序列化”的部分to_json要求。

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

Rails 模型属性在数据库中没有相应的列 的相关文章

  • 如何在 Rails 中两次加入相同的 2 个模型?

    我有一个带有国家 地区首选项的应用程序 用户将有两种类型的国家偏好 事件和研究 未来可能还会有更多 我更倾向于使用 2 个表来表示这一点 而不是使用 STI 我在优雅地配置 Rails 来执行此操作时遇到了一些麻烦 我可以破解它 但我宁愿按
  • 在 Emacs ruby​​ 模式下使用制表符缩进而不是空格

    我一直在尝试配置 Emacs 以便在缩进 Ruby 代码时插入一个 制表符 而不是一系列 空格 到目前为止 我已经尝试设置 varruby indent tabs mode to t这样 根据文档 它将 如果非零 则在 ruby 模式下插入
  • 连接后带有 Less/Greater 的Where 子句

    我正在尝试结合一个joins with a where条款 但where子句不是测试相等 而是测试大于或等于 我知道在标准 where 子句中 我可以这样做 Group where vote deadline at lt Time now
  • 如何获得“irb(main):001:0>”提示而不是“>>”

    我的 Mac 上预装了 Ruby 所以我想看看它 我注意到的第一件事是 irb 提示 gt gt 而不是 irb main 001 0 gt 我找不到任何关于如何通过 Google 更改此设置的信息 因为每个人都在其代码中使用 irb ma
  • 验证远程图像实际上是 ruby​​ 中的图像文件?

    我试图弄清楚如何验证我输入载波的内容实际上是图像 我获取图像网址的来源并没有返回所有实时网址 有些图像已不复存在 不幸的是 它并没有真正返回正确的状态代码或任何内容 因为我正在使用一些代码来检查远程文件是否存在并且它通过了该检查 因此 现在
  • 迁移后删除轨道模型

    我觉得很奇怪 创建模型 运行迁移 销毁它 然后再次创建相同的模型会报告 SQL 异常 project master rails g model name name invoke active record create db migrate
  • Ruby 中的日期时间和时间之间的转换

    在 Ruby 中如何在 DateTime 和 Time 对象之间进行转换 require time require date t Time now d DateTime now dd DateTime parse t to s tt Tim
  • 以与版本页面上相同的方式区分两个字符串的算法是什么?

    我正在尝试按短语区分两个字符串 类似于 StackOverflow 在版本编辑页面上区分两个字符串的方式 执行此操作的算法是什么 是否有 gems 或其他标准库可以实现此目的 编辑 我见过其他比较算法 Differ http github
  • 我可以渲染 :partial 没有前导下划线的视图吗?

    我在这里面临着不稳定的状况 我需要部分渲染没有前导下划线的页面 这将寻找 app views home contact html erb 但我想让它寻找 app views home contact html erb 有办法做到这一点吗 T
  • 如何在 Rails 中每天缓存一个值?

    在 Rails 中每天缓存一个值的最佳方法是什么 我有一个可通过 API 访问的数据库调用 我想每天制作并存储它 做到这一点的最佳方法 做法是什么 假设你有一个widget price您只想每 24 小时更新一次 通常你使用Widget c
  • 在 Ruby 中覆盖 BigDecimal to_s 默认值

    当我从数据库表中检索数据时 会填充一个数组 某些字段被定义为小数和货币字段 并且在数组中它们表示为 BigDecimal 我使用这些数组值来填充 CSV 文件 但问题是所有 BigDecimal 值默认都以科学格式表示 这是 BigDeci
  • 类型错误: jasmine.getEnv().currentSpec 为 null

    当我尝试运行我的茉莉花规格时 我得到 TypeError jasmine getEnv currentSpec is null in http localhost 8888 JASMINE ROOT jasmine js line 498
  • 如何使用 RSpec & Rails 4 测试子域约束

    我正在尝试编写一个测试子域约束的 控制器测试 但是 我无法让 RSpec 设置子域 并且如果子域不准确则返回错误 我正在使用 Rails 4 2 6 和 RSpec 3 4 路线 rb namespace frontend api do c
  • 如何在模块中使用“before_action”

    我想在模块中使用 before action 不幸的是 我无法让它发挥作用 我正在谷歌搜索 但我发现的一切都无法解决问题 我的模块文件如下所示 module ShowController include SimpleController b
  • 为什么在 ruby​​ 中创建元类?

    我正在尝试了解 Ruby 对象模型 我知道实例方法保存在类中而不是类的对象中 因为它消除了冗余 我读到 每当创建一个类时 也会为新创建的类创建一个元类 元类存储类方法 即该类的单例方法位于元类中 例如 class MyClass def h
  • Sinatra 请求对象

    我可能在这里遗漏了一些非常明显的东西 但我似乎无法找到答案 或者自己解决它 在西纳特拉 他们有一个self get方法 捕获块 当调用块时 您可以使用request里面有变量 这怎么可能 Sinatra module Sinatra cla
  • 无法让 Rails Server 与 MySQL 一起使用

    我正在尝试让我的 Rails 应用程序与 MySQL 一起使用 而不是默认的 SQLite 我创建了一个新项目 强制使用 MySQL 它似乎工作正常 它在 Gem 文件中添加了 gem 条目 如下所示 source https rubyge
  • Rails 3 - 与其自身具有一对一关系的模型 - 我需要belongs_to

    我有一个名为 Person 的模型 它有两个属性 name 和parent person id 一个人总会有一个父母 我应该在模型中使用belongs to吗 如果是的话 这样做有什么好处 class Person lt ActiveRec
  • Rails 缓存数据库查询和最佳实践

    我网站上的数据库负载变得非常高 因此我需要缓存每小时被调用 1000 次且结果不变的常见查询 例如 在我的城市模型上 我执行以下操作 def self fetch id Rails cache fetch city id City find
  • 通过 Assets Pipeline 携带 Sass 变量,Rails 3.1 rc1

    我最近将我的 Rails 3 0 项目之一与 3 1 rc1 进行了分支 以尝试新的资产管道 在使用 3 1 之前 我一直在项目中使用 Sass 因此我在单独的配置文件中设置了一些变量和函数 并让所有其他 sass 文件在第一行导入该文件

随机推荐