ruby-on-rails - BSON::InvalidObjectId非法ObjectId格式

标签 ruby-on-rails elasticsearch tire

尝试在 Controller 中插入简单的if条件后出现此错误:

def index
  if params[:query].present?
    @blog_posts = BlogPost.search(params[:query])
  else
    @blog_posts = BlogPost.all
  end 
end

最佳答案

取决于模型的设置方式。正如Tire README所说,Mongoid的ID有点时髦,您可能必须自己定义to_indexed_json:

def to_indexed_json
  self.as_json
end

关于ruby-on-rails - BSON::InvalidObjectId非法ObjectId格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067528/

相关文章:

ruby-on-rails - 带有鸣鸟的销售/子模块 gem

typescript - AWS Node SDK没有HttpClient

ruby-on-rails - 关于utf8的Tire::Search::SearchRequestFailed错误

ruby-on-rails - 您将 Rails 应用程序的 CSS 小片段放在哪里?

javascript - 关闭 Bootstrap 警报

elasticsearch - 判断索引中是否存在术语的最快方法

ruby - Elasticsearch查询匹配数组中的元素

ruby-on-rails-3 - Elasticsearch Tire on Rails,返回该年龄段的所有男性,但也返回女性

ruby-on-rails - ActiveAdmin 在从部分加载的同一自定义表单中编辑多个模型

sql - 在elasticsearch中获取最近一小时的记录