Tag: activerecord

如何在Ruby on Rails中获取ActiveRecord执行的最后一个SQL查询?

我正在寻找类似CodeIgniter的东西: $this->db->last_query(); ( http://codeigniter.com/user_guide/database/helpers.html )

像Twitter粉丝这样的关系/在ActiveRecord中跟随

我试图在我的应用程序中表示用户之间的关系,其中用户可以拥有许多关注者并且可以关注其他用户。 我想有像user.followers()和user.followed_by()这样的东西你能告诉我如何使用ActiveRecord来表示这个吗? 谢谢。

使用ActiveRecord在数据库中存储数组

我在rails 2.3.8&我使用mysql作为db适配器。 我想在我的数据库中存储数组。 在搜索之后,我可以拿出这篇非常有用的文章 。 现在我需要使用GUI进行输入而不仅仅是服务器控制台。 所以说我有一个名为nums的文本字段,逻辑上应该有int数组。 什么应该是nums的格式,以便从该字符串中检索和存储数组变得容易?

如何在Rails 3中为社交网络应用程序实现友谊模型?

我目前正在开发一个小型社交网络应用程序,现在我正在尝试创建一个代表用户之间友谊的模型。 这是我到目前为止提出的: class User :friendships end class Friendship ‘User’ end 我的友谊模型有一个确认为布尔值的字段,我想用它来定义一个待定或确认的友谊。 如何访问特定用户的所有待处理请求? 我可以使用Rails的范围方法以某种方式定义它吗? 就像是 current_user.friendships.requests # => [Friendship, Friendship, …] 会很好。 如何使这种关联双向化? 一旦确认了朋友请求,我就会添加另一个友谊,这样我的友谊表看起来就像这样: | user_id | friend_id | confirmed | ———————————– | 1 | 2 | true | | 2 | 1 | true |

按关联计数订购产品

类产品 has_many :sales end Class Sale belongs_to :product end 我如何获得最畅销的产品..(产品找到所有..订购.. ventas ..)?

如何要求在rails之外工作的活动记录

我需要活动记录,但我在rails之外工作(这就是为什么: 简单的Ruby输入validation库 )。 我需要整个rails gem,还是我可以DRYer?

查询,无法选择列数

Tag.joins(:quote_tags).group(‘quote_tags.tag_id’).order(‘count desc’).select(‘count(tags.id) AS count, tags.id, tags.name’) Build query: SELECT count(tags.id) AS count, tags.id, tags.name FROM `tags` INNER JOIN `quote_tags` ON `quote_tags`.`tag_id` = `tags`.`id` GROUP BY quote_tags.tag_id ORDER BY count desc 结果: [#, … , #] 它不会为我返回计数列。 我怎么才能得到它?

Rails Resque工作程序因PGError而失败:服务器意外关闭了连接

我在Ubuntu 9.10,Rails 2.3.4,ruby-ee 2010.01,PostgreSQL 8.4.2上有站点运行rails应用程序和resque worker在生产模式下运行 工人不断提出错误:PGError:服务器意外关闭了连接。 我最好的猜测是主resque进程建立与db的连接(例如authlogic在使用User.acts_as_authentic时执行此操作),同时加载rails app类,并且该连接在fork()ed进程中损坏(退出?),所以下一个分叉孩子们得到了一些破碎的全局ActiveRecord :: Base.connection 我可以使用此示例代码重现非常类似的行为,模仿resque worker中的fork / processing。 (AFAIK,libpq的用户建议无论如何都要在forked进程中重新创建连接,否则它不安全) 但是,奇怪的是当我使用pgbouncer或pgpool-II而不是直接的pgsql连接时,不会出现这样的错误。 那么,问题是我应该在哪里以及如何挖掘以找出为什么它被破坏以进行普通连接并且正在使用连接池? 还是合理的解决方法?

如何从ActiveRecord中获取每组的最新记录?

在我的Ruby on Rails应用程序中,我有一个这样的数据库结构: Project.create(:group => “1”, :date => “2014-01-01”) Project.create(:group => “1”, :date => “2014-01-02”) Project.create(:group => “1”, :date => “2014-01-03”) Project.create(:group => “2”, :date => “2014-01-01”) Project.create(:group => “2”, :date => “2014-01-02”) Project.create(:group => “2”, :date => “2014-01-03”) # and so forth… 如何使用ActiveRecord从每个group获取最新记录? 解决方案可能很简单,但我无法理解这一点。 谢谢你的帮助。

如何将嵌套集中的所有记录呈现为真正的html树

我在我的Rails项目中使用了awesome_nested_set插件。 我有两个看起来像这样的模型(简化): class Customer < ActiveRecord::Base has_many :categories end class Category :customer_id validates_presence_of :name # Further validations… end 数据库中的树按预期构造。 parent_id , lft和rgt所有值都是正确的。 树有多个根节点(当然在awesome_nested_set允许)。 现在,我想在一个正确排序的树中呈现给定客户的所有类别,例如结构:例如嵌套的 标签。 这不会太难,但我需要它才能有效(sql查询越少越好)。 更新:计算出可以在没有进一步SQL查询的情况下计算树中任何给定节点的子节点数: number_of_children = (node.rgt – node.lft – 1)/2 。 这并不能解决问题,但可能会有所帮助。