rails-activerecord相关内容

嵌套形式的 HABTM 复选框

我正在尝试以嵌套形式实现 HABTM 复选框. 目前,我有 3 个模型.主题、课程和小组.协会如下:每个科目都有很多课.每节课都有并属于多个组. 现在,我正在尝试在一个创建和编辑表单上实现它们.这样一来,课程就嵌套在主题中,并且每节课都有一组用于实现 HABTM 关系的组复选框. 我在实施 HABTM 关系时遇到了麻烦,因为每个科目有很多课程,我不确定如何区分不同的课程. ..

Ruby ActiveRecord 和 sql 元组支持

假设底层数据库支持,ActiveRecord 是否支持 where 子句中的元组? 生成的 where 子句类似于: where (name, address) in (('John', '123 Main St')) 我试过了: Person.where({[:name, :address] => ['John', '123 Main St']}) 它没有用. 解决方案 ..
发布时间:2021-07-02 19:07:57 其他开发

ActiveRecord::Relation#bind 的目的是什么?

只是出于好奇 - 我正在阅读 Relation::QueryMethods 的文档模块并发现该方法: def 绑定(值)关系=克隆关系.bind_values += [值]关系结尾 有人知道这是什么吗?我试图自己找,但失败了. 更新 我追踪了 @bind_values 的使用情况到 ActiveRecord::ConnectionAdapters 的无底深度——这些值会一直传递下去 ..
发布时间:2021-07-02 19:07:54 其他开发

在 Rails 5 中添加引用列迁移

一个用户有很多上传.我想在引用用户的上传表中添加一列.迁移应该是什么样的? Rails 3 的相关问题:Rails 3 迁移:添加引用列? Rails 4 的相关问题:在 Rails 4 中添加引用列迁移 Rails 6 的相关问题:How使用 SQLite 在 Rails 6 中添加引用列迁移 解决方案 与之前版本的 Rails 一样,您可以使用以下命令来创建迁移: ..

如何在 Rails 中使数据库字段只读?

我有一个包含某个字段的数据库表,一旦将其插入到数据库中,就不可能更新.我如何告诉我的模型它不应该允许更新某个字段? 解决方案 您想使用 attr_readonly: 列为只读的属性将用于创建新记录,但更新操作将忽略这些字段. class Customer ..
发布时间:2021-07-02 19:07:45 其他开发

Rails:在模型之间共享枚举声明值

我正在对以下属性应用 enum:透明度 相同的属性(带有枚举)用于两种不同的模型:Category 和 Post 是否可以在模型之间共享枚举值,以避免代码重复: enum 透明度:%w(anonymous private public) 解决方案 您可以使用 关注. 模块 HasTransparency扩展 ActiveSupport::关注包括做枚举透明度:%w(匿名私有公开 ..
发布时间:2021-07-02 19:07:42 其他开发

Rails ActiveRecord:验证单个属性

是否有一种方法可以验证 Rails 中的单个属性? 类似于: ac_object.valid?(attribute_name) 我将使用它来对特定模型字段进行 AJAX 验证.将这些验证移至 Javascript 会使代码变得非常丑陋. 解决方案 您可以在模型中实现自己的方法.像这样 def valid_attribute?(attribute_name)自我有效?self.e ..
发布时间:2021-07-02 19:07:39 其他开发

Rails counter_cache 未正确更新

使用 Rails 3.1.3,我试图弄清楚为什么在通过 update_attributes 更改父记录 ID 时我们的计数器缓存没有被正确更新. class ExhibitorRegistration 真的结尾类事件:破坏结尾描述参展商注册做它“正确维护事件的计数器缓存"做事件 = 工厂(:事件)other_event = 工厂(:事件)注册 = 工厂(:exhibitor_registrati ..
发布时间:2021-07-02 19:07:33 其他开发

向作用域添加参数

我有一个 ActiveRecord 查询,例如: @result = stuff.limit(10) where stuff 是带有 where 子句、order by 等的活动记录查询... 现在我想为什么要向控制器传递这样的幻数?那么你认为为“limit(10)"定义一个范围并使用它是一个好习惯吗?以及语法是什么样的? 解决方案 范围看起来像任何其他范围(尽管您可能更喜欢类方 ..
发布时间:2021-07-02 19:07:30 其他开发

在 ActiveRecord 中存储枚举值并转换为字符串以进行显示的最佳方法

我试图找出在 activerecord 中存储枚举值的最佳方法,但将其转换为“标题"以在应用中显示. I.E. 审核枚举: UNREVIEWED = {:title =>“未审核", :name =>“未经审查"}已审核 = {:title =>“已审核", :name =>“已审核"}标记 = {:title =>“标记为不当",:name =>“标记"} 因此,在 Java 领 ..
发布时间:2021-07-02 19:07:27 其他开发

如何在 Rails 中验证日期在今天之后?

我有一个包含属性的 Active Record 模型:expiry_date.我如何验证它是在今天之后(当时的当前日期)?我是 Rails 和 ruby​​ 的新手,我找不到类似的问题来回答这个问题? 我使用的是 Rails 3.1.3 和 ruby​​ 1.8.7 解决方案 您的问题(几乎)得到了准确解答 在 Rails 指南中. 这是他们提供的示例代码.这个类验证日期在过去 ..
发布时间:2021-07-02 19:07:21 其他开发