草庐IT

ActiveRecord

全部标签

ruby-on-rails - 覆盖 database.yml 的策略?

在我的环境中,部署服务器具有database.yml中的大部分连接信息。即他们知道自己是开发、测试还是生产服务器,知道各自的数据库连接信息。例如,我可以将此信息封装在一个服务器类中,以便我可以检索信息:Server["environment"]#=>productionServer["db_host"]#=>db5.example.comServer["db_password"]#=>[adecryptedpassword]等等。我想部署一个Rails应用程序并让它根据服务器设置自动配置。执行此操作的最佳方法是什么?一种方法是在我的database.yml中使用Erb::adapter

ruby - 验证值是否在特定范围内,例如1 <= 值 <=2

我想验证一个数字:value在1或2之内validates:value,:format=>{:with=>/1|2/,:message=>"Selectnumber.."}但是,当value==1时,上面的代码验证失败请确保您的解决方案允许我添加验证消息。 最佳答案 validates:value,:inclusion=>{:in=>[1,2]}参见http://apidock.com/rails/ActiveModel/Validations/HelperMethods/validates_inclusion_of

ruby-on-rails - 如何将 ActiveRecord 结果数组转换为普通数组?

如何将@recipe.components.find([#,#ingredient_id:2>])的结果集转换为数组,例如[1,2]"ingredient_id").include?(ingredient.id)%>谢谢! 最佳答案 你可以使用@result.map{|i|i.ingredient_id} 关于ruby-on-rails-如何将ActiveRecord结果数组转换为普通数组?,我们在StackOverflow上找到一个类似的问题: https:

ruby-on-rails - 是什么导致弃用警告:ActiveRecord::Base.raise_in_transactional_callbacks=?

我在运行功能规范时收到此消息:DEPRECATIONWARNING:ActiveRecord::Base.raise_in_transactional_callbacks=isdeprecated,hasnoeffectandwillberemovedwithoutreplacement.我正在使用Rails5.0.0.rc1,我不确定是什么引发了这个弃用警告。我的application.rb文件中有这个。我删除了它,弃用警告消失了:config.active_record.raise_in_transactional_callbacks=true我想了解此弃用警告的实际含义以及触发此

ruby-on-rails - Rails 4 更新嵌套属性

UpdatingNestedAttributesappend而不是updatingin有很多关系我正在尝试使用Rails4Update_attributesClassPerson在我的Controller中,我收到的参数是{id:23,house_no:'22A',pets:[{name:'jeffy',type:'dog'},{name:'sharky',type:'fish'}]}我的更新方法是defupdate@Person=Person.find(params[:id])if@Person.update(person_params)@Person.saverender'pers

ruby-on-rails - 使用 ActiveRecord 在数据库中存储数组

我在rails2.3.8上,我正在使用mysql作为数据库适配器。我想将数组存储在我的数据库中。搜索后我可以想出这个非常有用的article.现在我需要使用GUI进行输入,而不仅仅是服务器控制台。所以说我有一个名为nums的文本字段,逻辑上应该有int数组。nums的格式应该是什么,以便从该字符串中检索和存储数组变得容易? 最佳答案 如果您使用serialize,那么您不必担心数据在文本字段中的存储方式,尽管它实际上是YAML。serialize记录在theRails/ActiveRecordAPI中(向下滚动到标题为“在文本列中保

ruby-on-rails - 带有可选参数的 Rails Search?

当搜索可以提供许多可选参数(如ID、邮政编码、城市和州)时,我将如何在数据库上进行搜索?这些可以有值或完全空白。我将如何进行这样的Rails查询? 最佳答案 通常的建议是将逻辑转移到模型中并使Controller尽可能精简。filter方法有不同的做法,第一种:classRecordvalue)when:city,:state#regexpsearchscope.where(["#{key}ILIKE?","%#{value}%"])when:order#order=field-(ASC|DESC)attribute,order=v

ruby-on-rails - 错误 : must be owner of language plpgsql

我正在使用PostgreSQLv9.0.1和Rails(它是deps)@v2.3.8,由于使用了postgres的全文能力,我有一个定义为的表:CREATETABLEaffiliate_products(idintegerNOTNULL,namecharactervarying(255),modelcharactervarying(255),descriptiontext,pricenumeric(9,2),created_attimestampwithouttimezone,updated_attimestampwithouttimezone,textsearch_vectortsv

ruby-on-rails - 脚手架 ActiveRecord : two columns of the same data type

另一个基本的Rails问题:我有一个数据库表,需要包含对特定数据类型的两个不同记录的引用。假设示例:我正在制作视频游戏数据库。我有一张“公司”表。我想为每个“视频游戏”条目指定一个开发者和一个发布者。我知道如果我想拥有一家公司,我可以这样做:script/generateVideogamecompany:references但我需要同时拥有这两家公司。我宁愿不使用连接表,因为给定的数据类型只能有两个,我需要它们是不同的。看起来答案应该很明显了,但是我在网上到处都找不到。 最佳答案 只是为了稍微整理一下,在您的迁移中,您现在还可以:c

ruby-on-rails - ActiveRecord::Relation 对象如何调用类方法

ActiveRecord::Relation对象如何调用类方法?classProject现在我们可以调用:Project.first.tasks.initial_tasks#howitworksinitial_tasks是一个类方法,我们不能在对象上调用类方法。Project.first.tasks返回一个ActiveRecord::Relation对象,那么它怎么能调用initial_tasks呢?请解释。 最佳答案 关于ActiveRecord::Relation对象的类方法的应用程序的文档不多,但我们可以通过查看ActiveR