Ruby on rails Rails自动完成多个字段上的嵌入式文档
我使用的是mongoid,我有一个嵌入式结构,看起来像这样*:Ruby on rails Rails自动完成多个字段上的嵌入式文档,ruby-on-rails,autocomplete,mongoid,multiple-columns,Ruby On Rails,Autocomplete,Mongoid,Multiple Columns,我使用的是mongoid,我有一个嵌入式结构,看起来像这样*: class User field :first_name field :last_name embeds_one :administrateur embeds_many :customers embeds_one :contractor 现在,我希望能够自动完成一个客户(名字和姓氏)。我想我可以首先在User类上使用命名作用域来检索每个匹配的用户,但是: 我想不出好的语法来“自动完成”第
class User
field :first_name
field :last_name
embeds_one :administrateur
embeds_many :customers
embeds_one :contractor
现在,我希望能够自动完成一个客户(名字和姓氏)。我想我可以首先在User类上使用命名作用域来检索每个匹配的用户,但是:
- 我想不出好的语法来“自动完成”第一个和最后一个名字(我没有使用SQL,所以这个方法不起作用)
- 一旦我有了名称与自动完成术语匹配的用户列表,我就必须得到相应的嵌入文档
@customers = Array.new
User.by_name(params[:term]).each do |user|
@customers << user.customers
end
@customers=Array.new
User.by_name(params[:term])。每个do|User|
@客户我为mongoid提出的语法
class User
...
scope :by_first_name, ->(regex){
where(:first_name => /#{Regexp.escape(regex)}/i)
}
scope :by_last_name, ->(regex){
where(:last_name => /#{Regexp.escape(regex)}/i)
}
scope :by_name, ->(regex){
any_of([by_first_name(regex).selector, by_last_name(regex).selector])
}