草庐IT

activerecord-postgis-adapter

全部标签

ruby - 在 ActiveRecord 上使用 to_json 时跳过具有 nil 值的属性

我想知道是否有任何方法可以跳过具有nil的属性ActiveRecord上to_json时的值。默认行为是包含一个nil值。有没有办法让这个值不出现? 最佳答案 @lars的回答适用于单个对象,但对于ActiveRecord对象数组,您将不得不遍历数组的每个元素并进行转换。如果每次为该模型调用.to_json或render:json=>时都希望进行此转换,则可以覆盖模型中的as_json函数像这样:classModel..defas_json(options={})super(options).reject{|k,v|v.nil?}e

ruby-on-rails - 覆盖 ActiveRecord 对模型和集合的查找的最干净的方法是什么?

我有覆盖Ar的查找方法的库代码。我还包含了所有关联类的模块,因此MyModel.find和@parent.my_models.find都可以工作并应用正确的范围。我的代码基于will_paginate的:a=ActiveRecord::Associationsreturning([a::AssociationCollection]){|classes|#detecthttp://dev.rubyonrails.org/changeset/9230unlessa::HasManyThroughAssociation.superclass==a::HasManyAssociationcla

ruby-on-rails - Bundler.require 不适用于我的 gem 中的 ActiveRecord

我刚刚创建了一个新的gem(使用bundler)并想添加ActiveRecord支持。所以我将s.add_dependency"activerecord","~>3.0"添加到我的gemspec中。然后我使用Bundler.setup和Bundler.require并认为我现在可以访问ActiveRecord,但我没有。我必须明确使用require"active_record"。知道为什么Bundler.require在那种情况下对我不起作用吗? 最佳答案 首先,如果您要打包gem,donotuseBundler.require.B

ruby-on-rails - 在 Rails 中复制 ActiveRecord,使用现有参数创建新对象时出现问题

我试图在我的应用程序中复制Rails中的资源,但遇到了一些问题。设置是:我有一个用户可以使用的“项目模板”库,然后修改生成的项目。我目前有这样的设置:@temp_item=@template_item.dup@new_item=@user.items.create(@temp_item.attributes)但是我遇到了一个问题,它也试图跨protected属性(即created_at和updated_at)进行复制。我不想单独列出每个属性,所以我的问题是,有没有办法排除在这种情况下复制的属性?谢谢。 最佳答案 将Mischa的好建

ruby-on-rails - 保存时出现 ActiveRecord::RecordNotSaved 错误

创建新对象时,我在before_save上收到ActiveRecord::RecordNotSaved错误。但我想获取除ActiveRecord::RecordNotSaved错误消息之外的正确消息。我如何获取正确的错误消息并将其传递给救援人员?begin#somelogicraiseunlessobject.save!rescueActiveRecord::RecordNotSaved=>e#Howmayfetchpropermessagewheremyobjectisfailinghere..#likeobject.errors.messageorsomethinglikethat

ruby-on-rails - 连接两个字段 activerecord

我已经习惯了oracle,你可以在其中简单地进行concat(field1,'',field2)但是如果我使用activerecord来查找field1和field2,并且我需要在两者之间留一个空格,我该如何完成呢?为你的帮助干杯 最佳答案 在你的模型中:deffull_name[first_name,last_name].join('')end 关于ruby-on-rails-连接两个字段activerecord,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - Rails 3 按字母顺序列出 ActiveRecord 对象

我如何在Rails3中创建查询集和View(在我的情况下是@contacts)以按字母顺序列出ActiveRecord对象?我正在尝试执行此实现;一个->联系人以A开头B->联系人以B等开头。最后的样子:http://jquerymobile.com/demos/1.0b1/#/demos/1.0b1/docs/lists/lists-divider.html谢谢 最佳答案 你必须做这样的事情:@users=User.all.group_by{|u|u.name[0]}在View中: 关

ruby-on-rails - 如何在运行时扩展从 ActiveRecord 关联返回的对象?

我有一个模型如下:classProperty我想做的是使用由Property对象的属性确定的模块来扩展property_values扩展上的查找返回的任何值。我试过这样的事情:classPropertyPropertyUtil::Extensibledefenrich(to_extend)modules.split(/\s*,\s*/).eachdo|mod|to_extend.extend(Properties.const_get(mod.to_sym))endendendmodulePropertyUtilmoduleExtensibledefself.extended(mod)m

ruby-on-rails - 如何在 ActiveRecord 中使用默认的 sql 表达式?

我正在尝试为Rails中的模型使用默认值。我见过的最好的记录方式是在迁移中使用:default参数。但是,看起来这只适用于值。我正在尝试设置默认表达式,特别是currval('customers_id_seq'::regclass)。我可以手动添加默认表达式,但我不知道如何告诉Rails使用默认值。创建模型对象时如何使用此默认值?编辑这是一个更具体的例子:classCreateTestmodelsfalset.string:datafieldt.timestampsendexecute("ALTERTABLEtestmodelsALTERCOLUMNidxfieldSETDEFAULT

ruby-on-rails - 是否可以将 globalize3 添加到外部 ActiveRecord 模型类?

我有一个项目,我正在为其使用globalize3gem以允许使用多种语言。在我自己的模型中,我只需添加'translatesfield1,field2,etc.'和适当的迁移,一切都很好。问题是我还有一些依赖于外部gem的功能。对于其中一些模型,我也想添加全局化。我没有模型的代码可以像我对其他模型那样直接修改。重新打开模型似乎不起作用。有没有办法将翻译行添加到我无法直接访问的模型?我正在使用Rails3.1和Ruby1.9.2以防万一。 最佳答案 您能否提供gem的名称和该gem的模型?类是否在模块下命名空间?如果是这样,您可能没有