rails-activerecord相关内容
如何合并两个数组?像这样: @movie = Movie.first()@options = Movie.order("RANDOM()").first(3).merge(@movie) 但它不起作用. 在 @options 我需要一个包含四个元素的数组,包括 @movie. 解决方案 喜欢这个吗? ⚡️ irb2.2.2 :001 >[1,2,3] + [4,5,6]=>[1
..
如何使用 postgresql 在 rails 4 中使以下控制器线程安全: def controller_action如果 Model.exists(column_name:"some_value")别的@model=Model.new(column_name:"some_value")@model.save结尾结尾 我正在运行 puma,所以我担心的是,如果两个线程同时运行此控制器,并且不
..
Rails 4 在将 :uniq => true 与 has_many :through 一起使用时引入了弃用警告.例如: has_many :donors, :through =>:捐赠,:uniq =>真的 产生以下警告: 弃用警告:不推荐使用 Goal.has_many :donors 声明中的以下选项::uniq.请改用范围块.例如,以下内容:has_many :spam_comme
..
我有一个带有文本类型朋友列的用户模型.运行此迁移以在 postgres 中使用数组功能: add_column :users, :friends, :text, array: true 用户模型有这个方法: def add_friend(target)#target 将是一个类似于“1234"的值self.friends = [] 如果 self.friends == nilupdate_a
..
我一直在调试 Rails 的这个奇怪问题,它给我“表的主键未知...",即使表的 ID 存在也是如此. 我已将数据库从一个 heroku 应用程序复制到另一个应用程序,在原始数据库上没有问题,而新数据库给了我一个 db 错误. 这是错误: ProductsController# (ActionView::Template::Error) “模型集合中表集合的主键未知."/app/ve
..
编辑 2 如果您偶然发现了这一点,请检查这两个答案,因为我现在会为此使用 pluck 我有一个相当大的自定义数据集,我想返回它以作为 json 回显.其中一部分是: l=Location.find(row.id)tmp[row.id]=l 但我想做类似的事情: l=Location.find(row.id).select(“名称、网站、城市")tmp[row.id]=l 但这似
..
在 Rails 中为带有计数器的模型实现原子插入/更新的最佳方法是什么?我试图解决的问题的一个很好的类比是具有两个字段的“喜欢"计数器: url : 字符串计数:整数 插入时,如果当前没有匹配 url 的记录,则应创建一个计数为 1 的新记录;否则现有记录的 count 字段应该增加. 最初我尝试了如下代码: Like.find_or_create_by_url("http://exa
..
我有模型简介.个人资料 has_one 用户.用户模型具有字段电子邮件.当我打电话 Profile.some_scope.includes(:user) 它调用 SELECT users.* FROM users WHERE users.id IN(一些id) 但是我的用户模型有很多我没有在渲染中使用的字段.是否可以只加载来自用户的电子邮件?所以,SQL 应该看起来像 SELECT us
..
我有一个带有 medium 和 country 列(以及其他)的 Release 模型.不应有共享相同的 medium/country 组合的 releases. 我将如何将其编写为 Rails 验证? 解决方案 您可以使用 uniqueness 使用 scope 选项进行验证. 此外,您应该向数据库添加唯一索引,以防止新记录在写入前同时检查时通过验证: class AddU
..
是否有不保存记录的 update_attributes 替代方法? 所以我可以这样做: @car = Car.new(:make => 'GMC')#其他处理@car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "超级性感,想和它做爱")#其他处理@car.save 顺便说一句,我知道我可以@car.m
..
我有三个表offers、sports和连接表offers_sports. class Offer 我想选择包括一系列给定的运动名称的优惠.它们必须包含所有sports,但可能有更多. 假设我有这三个优惠: 灯:- “瑜伽"- “趴板"中等的:- “瑜伽"- “趴板"- 《冲浪》全部:- “瑜伽"- “趴板"- 《冲浪》- 《滑翔伞》——《跳伞》 给定数组 ["Bodyboardin
..
我在命名方面很糟糕,并意识到在我的 Rails 应用程序中有一组更好的模型名称. 有没有办法使用迁移来重命名模型及其对应的表? 解决方案 举个例子: class RenameOldTableToNewTable
..
有时,Activerecord 数据类型让我感到困惑.呃,经常.我永恒的问题之一是,对于给定的案例, 我应该使用 :decimal 还是 :float? 我经常看到这个链接,ActiveRecord: :decimal vs :float?,但答案还不够清楚,我无法确定: 我见过很多人建议完全不要使用的线程浮动并始终使用十进制.我也看到了一些人的建议人们只将浮动用于科学应用.
..
我在将 Rails 应用程序部署到 Heroku 时遇到问题,在尝试访问应用程序时抛出此错误: PGError: ERROR: 关系“organizations"不存在 (ActiveRecord::StatementInvalid) SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnullF
..
我有一个具有日期属性的 ActiveRecord 模型.是否可以利用该日期属性按年、日和月查找: Model.find_by_year(2012)Model.find_by_month(12)Model.find_by_day(1) 或者可以简单地找到_by_date(2012-12-1). 我希望我可以避免创建年、月和日属性. 解决方案 假设您的“日期属性"是一个日期(而不是完
..
我想获取一个给定 id 数组的 ActiveRecord 对象数组. 我认为 Object.find([5,2,3]) 将返回一个包含对象 5、对象 2 和对象 3 的数组,但我得到的数组顺序为对象 2、对象 3 和对象 5. ActiveRecord Base 查找方法 API 提到您不应该按照提供的顺序期待它(其他文档没有给出这个警告). 在 按相同的 id 数组查找中给
..
您如何在 Rails 5 ActiveRecord 中执行 or 查询?另外,是否可以在 ActiveRecord 查询中将 or 与 where 链接起来? 解决方案 将 or 子句与 ActiveRecord 中的 where 子句链接起来的能力查询将在 Rails 5 中可用.请参阅相关讨论和拉取请求. 因此,您将能够在 Rails 5 中执行以下操作: 要获得 id 1
..
我知道为 where ActiveRecord 方法: 纯字符串 数组 哈希 为 where 方法指定 和 很简单: # 纯字符串表示法Person.where("name = 'Neil' AND age = 27")# 数组符号Person.where(["name = ? AND age = ?", 'Neil', 27])# 哈希符号Person.where({name:
..
假设我有以下两个对象: first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relationlast_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation 是否有可能将这两种关系结合起来产生一个包含这两个
..
我正在使用 Rails3,ActiveRecord 只是想知道如何使用 OR 语句而不是 AND 来链接作用域. 例如 Person.where(:name => "John").where(:lastname => "Smith") 通常会返回: name = 'John' AND lastname = 'Smith' 但我想: `name = 'John' OR last
..