小编LMH*_*LMH的帖子

Mongoid 2.4通过Id失败查询嵌入式文档

我们有一个带有嵌入式项目的模型条目:

class Entry
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Spacial::Document
  embeds_many :items, cascade_callbacks: true
...

class Item
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Spacial::Document
  embedded_in :entry
...
Run Code Online (Sandbox Code Playgroud)

如果我按项目ID直接查询mongo:

{"items._id" : ObjectId("50536b18baa072000f000360")}
Run Code Online (Sandbox Code Playgroud)

它返回条目:

505363b36181ce00020006b1 {"created_at":"2012-09-14T17:04:51Z","items":[{"_ id":"50536b1a2b17b3 ...

然而,当我通过Mongoid查询时:

irb(main):002:0> Entry.where('items._id' => '50536b18baa072000f000360')[0]
=> nil
Run Code Online (Sandbox Code Playgroud)

所有其他查询都有效(对于项目和输入字段的其他字段).但不是为了id.

我们正在运行mongoid(2.4.12).

ruby-on-rails mongodb mongoid

10
推荐指数
2
解决办法
4271
查看次数

Rails延迟工作和图书馆课程

嘿,我们有一个库类(lib/Mixpanel)调用延迟作业,如下所示:

class Mixpanel

  attr_accessor :options
  attr_accessor :event

  def track!()
   .. 
   dj = send_later :access_api # also tried with self.send_later
   ..
  end

  def access_api
   ..
  end
Run Code Online (Sandbox Code Playgroud)

问题是当我们运行rake jobs:work:我们得到以下错误:

undefined method `access_api' for #<YAML::Object:0x24681b8>
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

ruby-on-rails delayed-job

8
推荐指数
1
解决办法
2580
查看次数

Rails Sanitize:安全+允许嵌入

我们正在构建一个用户生成的内容网站,我们希望用户可以在其中嵌入视频,幻灯片等内容......任何人都可以推荐一个普遍接受的标签/属性列表,以便在轨道清理中提供给我们相当不错的安全性,同时仍然允许大量的可嵌入内容/ HTML格式?

sanitization ruby-on-rails html-sanitizing

5
推荐指数
1
解决办法
1514
查看次数

Rails attr_accessible不适用于:type?

我尝试在表单中设置单表继承模型类型.所以我有一个属性选择菜单:类型,值是STI子类的名称.问题是错误日志保持打印:

警告:无法批量分配这些受保护的属性:类型

所以我在模型中添加了"attr_accessible:type":

class ContentItem < ActiveRecord::Base
  # needed so we can set/update :type in mass
  attr_accessible :position, :description, :type, :url, :youtube_id, :start_time, :end_time
  validates_presence_of :position
  belongs_to :chapter
  has_many :user_content_items
end
Run Code Online (Sandbox Code Playgroud)

不改变任何东西,ContentItem仍然具有:在控制器中调用.update_attributes()之后的type = nil.知道如何从表单中大量更新:type?

ruby-on-rails single-table-inheritance

4
推荐指数
3
解决办法
6982
查看次数