726得票24回答
287得票9回答
如何返回一个空的ActiveRecord关系?

如果我有一个带有lambda的范围,并且它需要一个参数,根据参数的值,我可能知道不会有任何匹配,但我仍然想返回一个关系而不是空数组: scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users....

281得票14回答
Rails:从一个列中选择唯一的值

我已经有一个可运行的解决方案,但我真的想知道为什么这个方法不起作用:ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } 它进行了选择,但不打印唯一值,它打印所有值,包括重复项。而且这在文档中有说明:ht...

252得票6回答
Rails的rake任务能够访问ActiveRecord模型吗?

我试图创建一个自定义rake任务,但好像无法访问我的模型。我认为这是rails任务隐式包含的内容。 我在lib/tasks/test.rake中有以下代码:namespace :test do task :new_task do puts Parent.all.inspect ...

250得票2回答
确定ActiveRecord对象是否为新对象

如何检查一个ActiveRecord对象是新的还是已经持久化了?

239得票21回答
在Rails模型中进行不区分大小写的搜索

我的产品模型包含一些项 Product.first => #<Product id: 10, name: "Blue jeans" > 我现在正在从另一个数据集中导入一些产品参数,但是名称的拼写不一致。例如,在另一个数据集中,“Blue jeans”可以拼写为“Blue J...

239得票29回答
有没有一种方法可以获取Rails应用程序中所有模型的集合?

有没有一种方法可以获取Rails应用程序中所有模型的集合? 基本上,我是否可以像这样操作:- Models.each do |model| puts model.class.name end

219得票4回答
delete_all vs destroy_all?

我在寻找最佳的方法来从一个表中删除记录。比如,我有一个用户,他的用户ID跨越许多表。我想删除这个用户以及所有包含他ID的记录的所有表。u = User.find_by_name('JohnBoy') u.usage_indexes.destroy_all u.sources.destroy_a...

218得票10回答
Rails:如何在where语句中使用大于/小于符号?

我正在尝试查找所有ID大于200的用户,但是我对具体语法有一些困惑。User.where(:id > 200) 并且User.where("? > 200", :id) 两者都失败了。有什么建议吗?

214得票5回答
如何在Ruby On Rails中使用NuoDB手动执行SQL命令

我正在尝试手动执行SQL命令以便在NuoDB中访问过程。 我正在使用Ruby on Rails,使用以下命令:ActiveRecord::Base.connection.execute("SQL query") "SQL查询"可以是任何SQL命令。例如,...