草庐IT

activerecord-sqlserver-adapter

全部标签

ruby-on-rails - ActiveRecord.find(array_of_ids),保留顺序

当您在Rails中执行Something.find(array_of_ids)时,结果数组的顺序不取决于array_of_ids的顺序。有什么办法可以找到并保留顺序吗?ATM我根据ID的顺序手动对记录进行排序,但这有点蹩脚。UPD:如果可以使用:order参数和某种SQL子句指定顺序,那么如何? 最佳答案 奇怪的是,没有人提出这样的建议:index=Something.find(array_of_ids).group_by(&:id)array_of_ids.map{|i|index[i].first}除了让SQL后端执行它之外,尽

ruby-on-rails - 将对象数组转换为 ActiveRecord::Relation

我有一个对象数组,我们称它为Indicator。我想在此数组上运行Indicator类方法(defself.subjects种类、范围等的方法)。我知道在一组对象上运行类方法的唯一方法是让它们成为ActiveRecord::Relation。所以我最终求助于将to_indicators方法添加到Array。defto_indicators#TODO:Makethislessterrible.Indicator.whereid:self.pluck(:id)end有时我会在类方法中链接很多这样的范围来过滤结果。因此,即使我在ActiveRecord::Relation上调用方法,我也不知

ruby-on-rails - rails 5 : ActiveRecord OR query

如何在Rails5ActiveRecord中执行或查询?此外,是否可以在ActiveRecord查询中将or与where链接起来? 最佳答案 在ActiveRecord查询中将or子句与where子句链接起来的能力将在Rails5。查看relateddiscussionandthepullrequest.因此,您将能够在Rails5中执行以下操作:获取id1或2的post:Post.where('id=1').or(Post.where('id=2'))其他一些例子:(A&&B)||C:Post.where(a).where(b).

ruby-on-rails - 为 Rails 4 禁用 ActiveRecord

我想在Rails4中禁用ActiveRecord。我在config/application.rb中做了以下操作requireFile.expand_path('../boot',__FILE__)#require'rails/all'--commentedrequire"action_controller/railtie"require"action_mailer/railtie"#require"active_resource/railtie"noneed#require"rails/test_unit/railtie"noneed#require"sprockets/railtie

sql - Rails 4 LIKE 查询 - ActiveRecord 添加引号

我正在尝试像这样做一个类似的查询defself.search(search,page=1)paginate:per_page=>5,:page=>page,:conditions=>["nameLIKE'%?%'ORpostal_codelike'%?%'",search,search],order=>'name'end但是当它运行时,某些东西会添加引号,导致sql语句像这样出现SELECTCOUNT(*)FROM"schools"WHERE(nameLIKE'%'havard'%'ORpostal_codelike'%'havard'%')):所以你可以看到我的问题。我正在使用Rai

ruby-on-rails - 如何避免运行 ActiveRecord 回调?

我有一些模型具有after_save回调。通常这很好,但在某些情况下,例如创建开发数据时,我想在不运行回调的情况下保存模型。有没有一种简单的方法可以做到这一点?类似于...Person#save(:run_callbacks=>false)或Person#save_without_callbacks我查看了Rails文档,但没有找到任何内容。然而,根据我的经验,Rails文档并不总能说明全部情况。更新我找到了ablogpost这解释了如何从这样的模型中删除回调:Foo.after_save.clear我找不到记录该方法的位置,但它似乎有效。 最佳答案

ruby-on-rails - 如何使用 activerecord 获取最后 N 条记录?

在查询中使用:limit,我将获得前N条记录。获取最后N条记录的最简单方法是什么? 最佳答案 这是Rails3的方式SomeModel.last(5)#last5recordsinascendingorderSomeModel.last(5).reverse#last5recordsindescendingorder 关于ruby-on-rails-如何使用activerecord获取最后N条记录?,我们在StackOverflow上找到一个类似的问题: ht

ruby-on-rails - 是什么导致了这个 ActiveRecord::ReadOnlyRecord 错误?

接下来是this之前的问题,已回答。我实际上发现我可以从那个查询中删除一个连接,所以现在工作查询是start_cards=DeckCard.find:all,:joins=>[:card],:conditions=>["deck_cards.deck_id=?andcards.start_card=?",@game.deck.id,true]这似乎有效。但是,当我尝试将这些DeckCards移动到另一个关联时,我收到ActiveRecord::ReadOnlyRecord错误。这是代码forplayerin@game.playersplayer.tableau=Tableau.news

ruby-on-rails - 复制 activerecord 记录的最简单方法是什么?

我想制作一个ActiveRecord对象的副本,更改过程中的单个字段(除了id之外)。实现此目的的最简单方法是什么?我意识到我可以创建一个新记录,然后遍历每个字段,逐个字段地复制数据-但我认为必须有更简单的方法来执行此操作。也许是这样的:new_record=Record.copy(:id) 最佳答案 要获取副本,请使用dup(或克隆#rails>=3.1new_record=old_record.dup#rails然后您可以更改任何您想要的字段。ActiveRecordoverridesthebuilt-inObject#clon

javascript - 使用 RESTAdapter 的后端验证始终为 "The adapter rejected the commit because it was invalid"

配置后端=Laravel5.1,带有DingoAPI前端=Ember1.13.6,Ember数据1.13.7适配器=Ember数据RESTAdapter问题我正在尝试处理我的第一个Ember应用程序的后端验证错误。当从服务器返回错误时,我得到这个错误:Error:TheadapterrejectedthecommitbecauseitwasinvalidatnewError(native)atError.EmberError(http://localhost:4200/assets/vendor.js:26266:21)atError.ember$data$lib$adapters$e