高性能数据库开发

我如何获得通过的ActiveRecord的Ruby on Rails的最后执行的SQL查询?

我在寻找类似codeIgniter的: $这个 - > DB-> last_query(); (解决方案 AFAIK,有没有简单的方法来获取查询列表。但是你可以很容易地访问它们创建一个超级简单的记录。 如果您打开类的ActiveRecord :: ConnectionAdapters :: AbstractAdapter ,你会看到一个名为日志的方法。这种方法被调用 ..
发布时间:2015-11-28 18:23:59 高性能数据库开发

导轨 - 验证presence协会?

我有,有一个“的has_many”的关联关系模型B.我有一个插入到至少需要1相关的记录B.业务需求模型中的是否有一种方法,我可以打电话,以确保这是真实的,或者我需要编写一个自定义的验证? 解决方案 您可以使用 validates_ presence_of 类A< AR :: Base的 的has_many:BS validates_ presence_of:BS 结束 或只是只会验证 ..

find_or_create_by在Rails 3的更新和创造纪录

我不知道我是否应该更新记录这样或者如果我失去了一些东西。 我有5列(不包括时间戳和id),其中3个是不同的,并且2将得到更新的表。在3个不同的,我会寻找或创造还有ROOM_ID,日期和来源。其他2是价格和使用点(这些改变每小时,每天等) 我的问题是,我应该先找到或创建记录,然后更新(或创建)的价格和斑点或者我可以做到这一切在一次?你可以看到两种方式,现在我做的,我不知道它实际上做了什么,我期待 ..

如何在轨动态绑定执行原UPDATE SQL

我要执行一个更新原始的SQL如下图所示: 更新表设置F1 =?其中,f2 =?与F3 =? 这个SQL将的ActiveRecord :: Base.connection.execute 执行的,但我不知道如何通过动态参数值入法。 可能有人给我任何帮助吗? 解决方案 它看起来并不像Rails的API公开的方法一般做到这一点。您可以尝试访问底层连接,并使用它的方法,如: MySQL ..
发布时间:2015-11-28 18:23:47 高性能数据库开发

有没有一种方法,以避免自动更新Rails的时间戳字段?

如果您有DB列 created_at 和的updated_at 当您创建Rails会自动设置这些值,并更新模型目的。有没有一种方法来保存模型不接触那些列? 我带来一些遗留的数据,我想从相应的值在(名称不同的)传统的数据字段设置这些值。我发现,当我设置它们的模型,然后保存模型,Rails的出现改写传入的值。 当然,我可能只是名字不同Rails的模型中的列到,但数据导入后,我想Rails的做它的自 ..

像Twitter的追随者/遵循ActiveRecord的关系

我想重新present在我的应用程序的用户之间的关系,其中一个用户都可以有众多的追随者,并可以按照其他用户。 我想有像user.followers()和user.followed_by() 你能告诉我详细介绍了如何重新present此使用的ActiveRecord? 感谢。 解决方案 您需要两个模型,一个人与追随中 轨生成模式人名:字符串 轨生成模式追随中PERSON_ID:整数follo ..
发布时间:2015-11-28 18:23:40 高性能数据库开发

Rails的:订单与空值最后

在我的Rails应用我碰到的一个问题几次,我想知道其他人是如何解决: 我有一定的记录中,其中一个值是可选的,所以一些记录有一个值,有些是该列空。 如果我命令按该列在某些数据库的空值排序第一,在某些数据库的空值排序最后。 例如,我有可能会或可能不属于一个集合的照片,即有一些照片,其中 collection_id =零和一些地方 collection_id = 1 等 如果我这样做 Photo ..

扶手:优雅的方式来构建模型到子文​​件夹,而无需创建子模块

我有许多车型在我的应用程序/模型文件夹中。我想清理这个文件夹了一点点。此举属于彼此的子型号。的问题是,按照惯例模型类命名空间成根据模块。 例如。 应用程序/模型/博客/ post.rb 应用程序/模型/博客/ comment.rb 应用程序/模型/ user.rb 这样: 应用程序/模型/博客/ post.rb 类岗位< ActiveRecord的 结束 而不是 类博 ..
发布时间:2015-11-28 18:23:35 高性能数据库开发

Rails中多个数据库

可以这样做?在一个单一的应用程序,用于管理许多项目的SQLite。 我要的是有一个不同的数据库,为每个项目我的应用程序的管理..相同结构的数据库这么多份,但在他们不同的数据。我会选择它复制到的URI PARAMS使用基地。 这是针对1.安全性做了..我在这种编程的newbe,我不希望它发生,由于某种原因而工作的一个项目一个又一个被损坏。2.方便易用的备份老项目归档 解决方案 Rails的默认 ..
发布时间:2015-11-28 18:23:32 高性能数据库开发

扶手:验证多列的唯一性

有没有轨道路的方式来验证实际的记录是唯一的,不只是一个列?例如,友谊型号/表不应该能够有多个相同的记载,如: USER_ID:10 | friend_id:20 USER_ID:10 | friend_id:20 解决方案 您可以范围 validates_uniqueness_of 呼叫如下。 validates_uniqueness_of:USER_ID,:范围=> : ..

ActiveRecord的查找所有不是由ID排序?

我在Heroku的部署,我似乎无法复制本地有一个奇怪的问题。基本上,当我发现所有在一个特定的模式,而不是通过ID进行排序,似乎他们没有秩序可言回报。 通常情况下,记录出来,像这样: >> Model.all => [<模型ID:2 - ;,<模型ID:1>,<模型ID:3>,<模型ID:4>,<模型ID:5个] . ..
发布时间:2015-11-28 18:23:20 高性能数据库开发

导轨报告找不到列,它是有

我目前正在做一个复杂的,其中搜索上使用Rails表,麻烦是我得到的错误: PG ::错误:错误:列“电子邮件”不存在 线路1:选择“禁止”* FROM“禁令”在哪里(电子邮件=''和IP =''AND(... ^ :选择“禁令”* FROM“禁令”在哪里(电子邮件=''和IP =''AND(用户名='NULL')) ..
发布时间:2015-11-28 18:23:17 高性能数据库开发

如何在Ruby中取消定义类?

取消定义在Ruby中的方法是pretty的简单,我可以只使用民主基金METHOD_NAME 。 有什么相似的一类?我在 MRI 1.9.2 。 我要取消定义一个ActiveRecord模式,运行两行code和恢复模式恢复到原来的形态。 现在的问题是,我有一个模型联系方式和我使用的是公司的API和它发生,他们有一些类叫做联系人,并改变了我的型号名称将是大量的工作对我来说。 我可以做这种情况呢 ..
发布时间:2015-11-28 18:23:15 高性能数据库开发

为什么没有Rails的" errors.full_messages"替换属性和消息变量?

有一个奇怪的问题,我刚刚创建了一个滑轨模型。 下面是我的验证: validates_ presence_of:FROM_NAME,:消息=> “请从名字提供了一个。” validates_ presence_of:FROM_EMAIL validates_ presence_of:giftition_plan_id 我在使用的问题 errors.full_messages 以及 ..

GroupingError:错误:列必须出现在GROUP BY子句或聚合函数中使用

我有code在我的控制器是由最高的平均评价得分排名专辑(使用code,从这个解决方案 @albums = Album.joins(评论)。选择(“*,AVG(reviews.rating)为AVERAGE_RATING”)组(“albums.id”)为了(。 “AVERAGE_RATING DESC”) 这code完全在我的开发环境(sqlite3的),但是当我推开code到Heroku和到Po ..

Rails的3.1限制用户创建的对象

我要限制模式的数量对象的用户可以创建。我试过下面,但它不能正常工作。我明白了一些变化发生在轨3.1和不知道现在该怎么做到这一点。 类用户的LT;的ActiveRecord :: Base的 的has_many:事情,:上限=> 5日:依赖=> :摧毁#这不工作 结束 一流的物联网<的ActiveRecord :: Base的 belongs_to的:用户 结束 ..