高性能数据库开发
我无法得到一个的has_many:通过联合使用Rails工作4强大的参数。我有一个名为结帐模式,我需要选择一个人从员工模式,在新的结算形式。检出,并且员工通过一个工作模型相关联。 当我尝试创建一个新的结帐我得到这个错误: NoMethodError在CheckoutsController#创建 未定义的方法'员工'的#<结帐:0x007ff4f8d07f88> 好像有什么
..
这看起来很简单,但我不能让它转起来的谷歌。 如果我有: 类城市与LT;的ActiveRecord :: Base的 的has_many:照片 结束 类图片<的ActiveRecord :: Base的 belongs_to的:城市 结束 我想找到一些没有照片的所有城市。我很想能够调用类似... City.where(photos.empty?) ..
..
我想要做的几千元记录批量插入到从我的Rails应用程序的数据库(在我的情况POSTGRES)。 什么是做它的“Rails的方式”? 东西是做它的速度快,也是正确的方式。 我知道我可以创建属性字符串连接的SQL查询,但我希望有一个更好的办法。 解决方案 ActiveRecord的只是通过一组选项。 #创建新对象的数组 User.create([{:FIRST_NAME =>“杰米”}
..
我有一类叫做 CachedObject ,其存储的通用序列化对象收录的关键。我想这个类来实现一个 create_or_update 方法。如果一个对象被发现,将更新它,否则会造成一个新的。 有没有办法做到这一点在Rails的还是我写我自己的方法? 解决方案 您可以使用 find_or_initialize 或 find_or_create 例如,在轨道4语法: 用户= User.find
..
我有一个活动记录结果作为查找操作的结果。 tasks_records = TaskStoreStatus.find(:所有,:选择=>“中TASK_ID,STORE_NAME,store_region”:;“?task_status =和STORE_ID =”条件= GT [, “F”,STORE_ID]) 现在我想将其转换成结果散列的数组像下面一 [0] - > {
..
我没有找到SO Rails的协会是有点像我的问题了一些问题,但对我的生活中,我似乎无法理解如何使用 belongs_to的多个模型。 这里的表结构的我打算有: 用户 ID 帖子 ID user_id说明#foreign关键;后属于用户又名“谁创造了这个帖子” 评论 ID user_id说明#foreign关键;评论属于用户又名“谁言此评论” 的post_id #foreign关
..
我有一个特别复杂的模型定义的验证和回调。现在的业务需求要求一个特定的场景,添加新记录,需要跳过验证和回调。什么是做到这一点的最好方法是什么? 解决方案 这工作在Rails 3的: Model.skip_callback(:创建) model.save(:验证=>假) Model.set_callback(:创建) ( API文档和的有关问题)
..
我将如何做时,搜索可以提供许多可选参数,如身份证,邮编,城市和国家数据库的搜索?这些可以有价值观是完全空白的。我将如何做一个滑轨查询这样呢? 解决方案 通常的建议是将逻辑模型,并保持控制器精益越好。有些方法为模型:第一个,写了过滤器类方法,通过键/值实现搜索: 类记录<的ActiveRecord :: Base的 高清self.filter(属性) attributes.r
..
我们最近推出了一种符合推在我们公司,都必须保持其目前在Rails应用程序管理的改变我们的数据的完整历史记录。我们已经得到了确定,简单地推入了一些描述性的每一个动作到一个日志文件,这是一个非常不显眼的路要走。 我的倾向是做这样的事情在的ApplicationController : around_filter:set_logger_username 高清set_logger_username
..
我是一个PHP开发人员学习Ruby on Rails的awesomness,我爱的ActiveRecord,我发现了一些非常有趣的,这是ActiveRecord的方法如何检测方法链的末端执行查询。 @person = Person.where(名称:“杰森”)。其中,(年龄:26) #愚见想象我会觉得每其中()执行数据库查询 #但在现实中,它没有,直到链上的最后一个方法 这是如何
..
我可以做 Post.delete_all 全部删除我的帖子,但如果我要删除所有帖子,评论,博客等即,我怎么遍历在我所有的模型和运行 DELETE_ALL 的方法? 解决方案 耙分贝:重设 据重现从迁移你的表。 由于建议的意见,更快的方式做到这一点(但你要添加一个新的rake任务)是: 命名空间:DB做 DESC“截断所有表” 任务:截断=> :环境做 康恩=
..
在我们的程序中,每个客户得到自己的数据库。我们的E-MAIL他们,他们连接到他们的数据库的链接。该链接包含一个GUID,让程序知道要连接到的数据库。 如何动态和编程的ActiveRecord连接到正确的数据库? 解决方案 您还可以自动做到这一点很容易没有任何硬编码和运行迁移: 顾客= CustomerModel.find(ID) 规格= CustomerModel.configuratio
..
A 人可以有多个活动,每个事件可以有一个多态 Eventable 记录。如何指定关系的人和 Eventable 记录? 下面是我的模型: 类事件<的ActiveRecord :: Base的 belongs_to的:人 belongs_to的:eventable,多态=>真正 结束 一流的膳食与LT;的ActiveRecord :: Base的 HAS_ONE:事件:
..
我试图找出设计一个铁轨模型的最佳途径。为了这个例子,让我们说我要建字符的数据库,这可能有几个不同的固定属性。例如: 字符 - 道德(可能是“好”或“恶”) - 类型(可能是“行动”,“悬疑”,或“西方”) - 头发颜色(可能是“金发碧眼”,“褐色”,或“黑色”) ...等等。 因此,对于人物模型也有,我想主要有可能选择一个固定的名单几个属性。 我希望用户能够创建一个角
..
按照Ruby on Rails的约定,控制器名都使用复数,而模型的名字是单数。例如:一个用户控制器,但用户模型 轨生成器用户 轨生成模式用户名:字符串电子邮件:字符串 现在打开迁移文件 类CreateUsers< ActiveRecord的::迁移 高清变化 CREATE_TABLE:用户做| T | t.string:名称 t.string:
..
我通过Mongoid集成在一个项目中使用的MongoDB,以及ActiveRecord的。我想生成迁移的活动记录,并Mongoid是默认的,当我运行。 轨道摹迁移 任何想法如何指定AR为迁移我的默认生成,模型等? 谢谢! 解决方案 轨道摹active_record:迁移
..
我使用的Heroku主办我的Ruby on Rails应用程序和一个或那样的原因,我可能有一些重复的行。 有没有办法基础上删除2个或更多的标准重复的记录,但保留了重复征收的只有1记录? 在我的使用情况下,我在我的数据库中的品牌和型号的关系的汽车。 品牌型号 --- --- 姓名姓名 年 修剪 MakeId 我想删除具有相同的
..
如果我有一个lambda一个范围,它需要一个参数,根据参数的值,我可能会知道,不会有任何的比赛,但我还是想回到的关系,而不是一个空数组: 范围:for_users,拉姆达{|用户| users.any? ?其中,(“user_id说明中()?”,users.map(安培;:编号)。加入(“,”)):[]} 我真正想要的是一个“无”的方法,“一切”的对面,即返回仍可链的关系,但结果在查询被
..
据我了解更多有关面向对象,并开始实施各种设计模式,我继续回来的情况下,人们都恨上的活动记录。 通常情况下,人们会说,它并不能很好地扩展(援引Twitter作为其典型的例子) - 但没有人真正解释的的为什么的它没有很好地扩展;和/或如何实现AR的优点没有缺点的(通过相似,但不同的模式?) 希望这不会变成关于设计模式的圣战 - 这一切我想知道的是 **专** 什么是错的活动记录 如果它不能很好地
..
你能告诉我什么是最好的实践创造HAS_ONE关系? f.e。如果我有一个用户模型,它必须有一个配置文件... 我怎么能做到呢? 一个解决方案是: #user.rb 类用户LT;<的ActiveRecord :: Base的 after_create:set_default_association 高清set_default_association self.crea
..