Tag: activerecord

ActiveRecord选择除列之外

有没有一种方法可以指定在ActiveRecord中选择所有列,只有少数几个。 例如,对于用户,我不想选择他们的密码哈希或他们的电子邮件。 这是可能的还是我必须手动硬编码所有列? 谢谢

从现有表生成activerecord模式

有谁知道这样做的方法? 我有一个用sql创建的现有表,我想从中创建一个可以重现表的模式(减去数据)

Rails 4.1 ActiveRecord :: relation不再像Array一样

在Rails 4.0.4中这段代码工作: mailboxes = Mailbox.order(:mailbox) mailboxes.keep_if do |mailbox| # test end 在Rails 4.1.0中它打破了NoMethodError (undefined method keep_if for ) 并且必须改为 mailboxes = Mailbox.order(:mailbox).to_a mailboxes.keep_if do |mailbox| # test end 我没有找到任何相关信息 任何的想法?

ActiveRecord查询中“包含”和“预加载”之间的区别是什么?

我正在努力为ActiveRecord对象找到includes()和preload()的比较。 有人可以解释这个区别吗?

编写ActiveRecord适配器

我想为HBase数据库编写自己的ActiveRecord适配器 ,因为目前还没有。 但是,我一直在网上搜索一下,找不到有关如何编写ActiveRecord适配器的任何好资源。 你会怎么做呢,或者你可以推荐任何链接?

查找与Rails中的范围重叠的记录

所以,我有一个具有starts_at和ends_at列的Event模型,我想查找在一系列日期中发生的事件。 我想出了这个named_scope ( range通常是一个月): named_scope :in_range, lambda { |range| {:conditions => [ ‘starts_at BETWEEN ? AND ? OR ends_at BETWEEN ? AND ?’, range.first, range.last, range.first, range.last]} } 哪个按预期工作。 但是如果一个事件在前一个月开始并且在该范围之后的一个月结束它将不会显示。 有没有办法以适当的方式找到这些事件?

无法在Rails中加入自联接表

我有2个型号 class Category “Category” has_many :children, :class_name => “Category”, :foreign_key => “parent_id” has_many :products attr_accessible :description, :title, :parent end class Product < ActiveRecord::Base belongs_to :category end 特别是,类别有一个标题为“茶”的父项,这个项目有很多儿童项目:“红茶”,“白茶”…… 我需要选择属于父类“茶”的产品。 我是这样做的: Product.joins(:category=>:parent).where(:category=>{:parent=>{:id=>1}}).all 它抛出exception(无法格式化) Product Load (0.8ms) SELECT `products`.* FROM `products` INNER JOIN `categories` ON `categories`.`id` = `products`.`category_id` INNER JOIN `categories` `parents_categories` ON `parents_categories`.`id` = `categories`.`parent_id` WHERE `parent`.`id` […]

Rails 3按顺序排序has_many:通过

我有一个应用程序,我可以列出项目并为每个项目添加标签。 模型项和标签关联如下: class Item :taggings end class Tagging < ActiveRecord::Base belongs_to :item belongs_to :tag end class Tag :taggings end 因此,这种多对多关系允许我为每个项目设置n个标签,并且可以多次使用相同的标签。 我想列出按此标签关联的项目数排序的所有标签。 更常用的标签,首先显示。 较少使用,最后。 我怎样才能做到这一点? 问候。

RoR:不能在postgres中更改_column,在MySQL中可以很好(MySQL用于开发,Postgres在Heroku上)

我有一个名为“奖品”的专栏: create_table :contests do |t| t.text :prize 我最近意识到这将永远是一个整数,我想设置一个默认值: def change change_column :contests, :prize, :integer, :default => 200 这在我使用MySQL DB的本地机器上工作正常。 但是,当我推送到我的生产站点(在Heroku上托管,它给我一个Postgres DB)时,我收到以下错误: PGError: ERROR: column “prize” cannot be cast to type “pg_catalog.int4” : ALTER TABLE “contests” ALTER COLUMN “prize” TYPE integer 在本文中: http : //www.postgresonline.com/periodical.php?i_id = 3他们讨论了使用USING来解决这个问题。 但我不知道如何做到这一点,以及这是否适合我正在尝试做的事情。 任何深入了解这一点的人都会非常感激。 谢谢! 林戈

Rails SQL查询构建器…或ActiveRecord查询构建器

我需要像运行sql查询一样 sql = ‘SELECT * FROM users WHERE id != ‘ + self.id.to_s + ‘ AND id NOT IN (SELECT artner_id FROM encounters WHERE user_id = ‘ + self.id.to_s + ‘)’ sql += ‘ AND id NOT IN (SELECT user_id FROM encounters WHERE partner_id = ‘ + self.id.to_s + ‘ AND predisposition = ‘ + […]