是否可以执行查询并返回嵌入的文档?
目前,我有:
class Post
include MongoMapper::Document
many :comments
end
class Comment
include MongoMapper::EmbeddedDocument
belongs_to :post
key :author
key :date
key :body
end
Run Code Online (Sandbox Code Playgroud)
这是一个几乎存在的查询:
Post.all("comments.date" => {"$gt" => 3.days.ago})
Run Code Online (Sandbox Code Playgroud)
这将返回所有post对象,但不返回注释.我想我可以这样做:
Post.all("comments.date" => {"$gt" => 3.days.ago}).map(&:comments)
Run Code Online (Sandbox Code Playgroud)
但这将返回帖子中的所有评论.我想得到满足这一条件的所有评论.也许Comment不应该嵌入.
有没有人知道类似于Ruby中的Date.js?能够从"今天两周"之类的东西返回日期对象的东西.Remember the Milk webapp将此功能集成到他们的系统中,并且非常易于使用.
我会使用Date.js库本身,但因为它在客户端,它有其局限性.如果用户未启用javascript,则功能将丢失.这将影响移动电话用户,理想情况下,他们将通过短信(短信)使用我们的系统.
我很想使用已经存在的解决方案,但如果没有将这些代码移植到Ruby中会有多难?我真的不太了解自然语言的解释,但似乎需要一些时间.
谢谢.
我有一个应用程序,每分钟检查一次数据库,以查找当时应该发送的任何电子邮件.我正在考虑将这个作为一个rake任务,每分钟由一个cron作业运行.会有更好的解决方案吗?
从我所读到的,这不是理想的,因为rake必须每分钟加载整个rails环境,这变得昂贵.
思考?
谢谢.
我在两个实体,Feeds和Posts之间有一个很好的关系.我还有特定类型的帖子,视频和照片.这是使用单表继承在数据库中构建的.
现在我的Feed模型指定了Feeds和Posts之间的has_many关系(包括子类型)
class Feed < ActiveRecord::Base
has_many :posts
has_many :photos
has_many :videos
Run Code Online (Sandbox Code Playgroud)
是否有更好,更传统的方式来指定它?或者是我能拥有的那么简单?
使用rake db:migrate加载vanilla SQL 会涉及到什么问题?
我正在使用的业务要求不允许我使用默认的Rails迁移.但我仍然需要跟踪更改,轻松更改数据库DDL以及Rails迁移为您提供的其他内容.
所以迁移文件看起来像:
class AddDateToPost < ActiveRecord::Migration
def self.up
ActiveRecord::Base.connection.execute("ALTER TABLE `posts` ADD COLUMN date DATETIME NULL")
end
def self.down
ActiveRecord::Base.connection.execute("ALTER TABLE `posts` DROP COLUMN date")
end
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试在项目中使用@EnableRedisRepositories和@EnableMapRepositories,但收到以下错误消息:
相关原因:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名为“redisConverter”的bean时出错:通过构造函数参数0表示的不满意依赖:无法转换类型[org.springframework.data.keyvalue.core.mapping的参数值。 context.KeyValueMappingContext] 到所需类型 [org.springframework.data.redis.core.mapping.RedisMappingContext]:无法将类型“org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext”的值转换为所需类型“ org.springframework.data.redis.core.mapping.RedisMappingContext'; 嵌套异常是 java.lang.IllegalStateException:无法将“org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext”类型的值转换为所需类型“org.springframework.data.keyvalue.core.mapping.context.KeyValueMappingContext”。
那么是否可以在同一个项目中同时使用两者?
我一直在使用Git来管理自己的个人项目.我没想到我是如何使用它的.每当有一个没有真正想到的里程碑时,我通常会提交所有更改.
但在阅读了一篇博文后,提到你应该如何改正你的提交信息,我意识到我真的不知道如何正确使用SCM.
所以我想知道你是否有任何关于以下事项的提示:
谢谢!
我目前还在上学并参加了用c ++实现数据结构的课程.在业余时间,我喜欢用"更高级"语言编程(大多数是带有一些c#的Ruby).
因此,由于这些更高级别的语言为您管理内存,您将使用什么数据结构?我可以理解对队列和堆栈的需求,但是你是否需要在Ruby中使用二叉树?还是2-3-4树?为什么?
谢谢.
我想知道为什么我应该为我自己手动测试的东西编写测试.我不写rspec测试或类似的东西.为了测试,我会写一些东西然后去浏览器并确保更改做我想要的.我听说这种方法被描述为"错误驱动的开发".
我现在写的应用程序通常范围和大小都很小.我是唯一的开发人员(通常),因此我不必担心将其他人的代码合并到我自己的测试中.
我可以看到需要测试具有数百种表单的大规模应用程序.但对于我自己开发的较小的应用程序,编写测试所需的时间比仅填写信息要长得多.我听说很多开发人员主张测试驱动开发,但我还没有"看到光明".这似乎是一个好主意,但我无法证明编写测试(似乎)需要的工作量.
我正在尝试扩展Bitmap类,以便我可以将自己的效果应用于图像.当我使用这段代码时:
namespace ImageEditor
{
public class Effects : System.Drawing.Bitmap
{
public void toBlackAndWhite()
{
System.Drawing.Bitmap image = (Bitmap)this;
AForge.Imaging.Filters.Grayscale filter = new AForge.Imaging.Filters.Grayscale();
this = filter.Apply(this);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
'ImageEditor.Effects': cannot derive from sealed type 'System.Drawing.Bitmap'
Run Code Online (Sandbox Code Playgroud)
那么有没有办法解决这个问题,或者根本无法扩展课程?
谢谢.
我6个月前开始学习Rails,到目前为止,我喜欢它背后的社区.有很多论坛和文档资源可供使用,但我无法找到一个教学,一贯维护的教学Rails博客.我喜欢Ryan Bates的Railscasts,但我很想找到另一个与他的一致性或质量相同的博客.
有什么建议?
谢谢.