草庐IT

activerecord-relation

全部标签

ruby-on-rails - 对从 ActiveRecord 或 ThinkingSphinx 获取的集合进行排序

我有两个问题。有没有一种方法可以对ActiveRecord或ThinkingSphinx中的集合进行排序,而无需重新选择数据库/sphinx中的所有内容?即。@models=Model.where("foo=:foo",{:foo=>params[:foo]})models.some_code_or_method_which_will_resort_everything这个游戏是否值得一试(排序数组/集合而无需再次获取)?我想知道哪个选项对性能更好。提前致谢。编辑因此,当您:不要使用分页(必须有所有记录)使用ajax刷新页面div(不要通过调用索引或显示操作再次获取所有内容)为艺术而艺

ruby-on-rails - ActiveRecord find_each 和 Postgres

我收到以下错误:PGError:ERROR:operatordoesnotexist:charactervarying>=integerLINE1:...CT"games".*FROM"games"WHERE("games"."uuid">=0)ORDE...^HINT:Nooperatormatchesthegivennameandargumenttype(s).Youmightneedtoaddexplicittypecasts.:SELECT"games".*FROM"games"WHERE("games"."uuid">=0)ORDERBY"games"."uuid"ASCLI

ruby-on-rails - Rails3 - 如何获取 ActiveRecord 模型的所有属性和关联?

我一直在寻找一种方法来获取ActiveRecord模型上所有模型属性和关联的数组。我很难找到这个问题的答案,所以,我会发布我的答案,看看是否有更好的解决方案。 最佳答案 获取所有属性m=Model.newm.attributes获取所有模型关联Model.reflect_on_all_associations.map{|x|x.class_name}.compact这些链接将提供更多详细信息HowdoyoudiscovermodelattributesinRailshttp://www.funonrails.com/2009/11/

ruby - Rails,防止 Model.scoped 的弃用警告,找到(:all) and relation #all?

我有通过但显示的测试$rspecspec/event_calendar_spec.rb......DEPRECATIONWARNING:Model.scopedisdeprecated.PleaseuseModel.allinstead.(calledfromevents_for_date_rangeat/home/durrantm/Dropbox/96_2013/work/code/ruby/event_calendar/lib/event_calendar.rb:52)DEPRECATIONWARNING:Calling#find(:all)isdeprecated.Pleasec

ruby-on-rails - RSpec: 未初始化常量 ActiveRecord (NameError)

当我从Rails项目的根目录运行rspec时,出现以下错误:/Users/ysername/code/fsf/app/models/school_application.rb:3:in`':uninitializedconstantActiveRecord(NameError)在我的spec_helper.rb文件中调用require_relative触发这是我的测试:require'spec_helper'describe'#to_xml'doit'returnsthexml-ifiedversionofapayment'doexpect(SchoolApplication.to_x

ruby-on-rails - ActiveRecord、方法链和请求执行

我目前正在尝试了解ActiveRecord如何链接条件方法然后执行sql请求。理解方法链接非常容易,我认为的一切都在此处得到了很好的解释和恢复here.但是,还有一点我还是想不通,上面的文章也没有解释:ActiveRecord是怎么知道什么时候执行SQL请求的。例如,如果我编码User.where(some_column:"hello").limit(5),ActiveRecord会实例化一个querybuilder,设置关于some_column的条件值(value)和有限数量的结果。但是,在执行.limit(5)之后,它也执行请求并返回结果:ActiveRecord怎么知道?它如何

ruby-on-rails - 如何为 ActiveRecord belongs_to 关联声明可选条件?

RailsActiveRecord为belongs_to提供了一个optional选项。考虑允许外键为null并允许关联在对象创建期间为null但在后续保存期间需要它存在的用例。例如,新成员可能没有初始组,但成员的任何进一步更新都需要组关联。optional选项值本身可以是有条件的吗?例如,classMember{new_record?}end与optional:true的行为相同,我们可以推断optional选项解析仅检查真值。自定义验证器是满足此用例的实用方法吗? 最佳答案 似乎向optional选项提供lambda不起作用(虽

ruby-on-rails - ActiveRecord::StatementInvalid。 SQLite3::SQLException: 没有这样的表

我正在创建一个社交网络,但在添加“好友请求”时遇到了问题。当我按下“添加friend”按钮时,Rails控制台会显示以下内容。迁移友谊:classCreateFriendshipsController:classFriendshipsController模型友谊:classFriendship模型用户:classUser[:facebook]has_many:postshas_many:friendships...defself.from_omniauth(auth)where(provider:auth["provider"],uid:auth["uid"]).first_or_cr

ruby - 验证 ActiveRecord 时,我得到有效? => false 但 errors.count 中没有错误。怎么来的?

在rspec中创建ActiveRecord时,我使用固定装置来获取有效记录。但是当在测试中使用fxitures时,它们似乎无法通过验证。在以下示例中,该员工似乎完全有效,但规范中的相关验证表明它们无效。classEmployee0Employee.find(745185059).errors.full_messages#=>[]Employee.find(745185059).valid?#=>true例如:describeSessionsControllerdofixtures:users,:employeesdescribe"Logginginbycookie"dodefset_r

ruby-on-rails - 为什么 ActiveRecord 不够聪明,不知道父亲的 object_id 应该等于其 child 的父对象的 object_id?

@father=Hierarchy.find(:first,:conditions=>['label=?','father'])@father.children.eachdo|child|puts@father.object_id==child.parent.object_idend我本以为这里的结果都是true。相反,它们都是false。为什么ActiveRecord以这种方式工作,而不是将它们识别为相同的Ruby对象? 最佳答案 要尽可能返回现有对象而不是创建新对象,ActiveRecord必须跟踪创建了哪些对象以及它们响应数据