我的模型中有两个字段,我想将它们添加到 Soulmate::Loader 中:
例如,我的“人”模型有姓名和电子邮件字段。然后我想在 Soulmate 中加载:
loader = Soulmate::Loader.new("people")
loader.add("term" => name, "id" => self.id, "data" => {
"link" => Rails.application.routes.url_helpers.person_path(self)
})
我想在 loader.add 中添加 name
和 email
。但我不能。
def load_into_soulmate
loader = Soulmate::Loader.new("people")
loader.add("term" =>{ name , email }, "id" => self.id, "data" => {
"link" => Rails.application.routes.url_helpers.person_path(self)
})
end
和
def load_into_soulmate
loader = Soulmate::Loader.new("people")
loader.add("term" =>{ "name" => name ,"email" => email }, "id" => self.id, "data" => {
"link" => Rails.application.routes.url_helpers.person_path(self)
})
end
当我使用 Person.find_each(&:save)
将数据添加到 redis 时出现错误:
ArgumentError: ArgumentError
from /var/lib/gems/2.2.0/gems/soulmate-1.1.0/lib/soulmate/loader.rb:31:in `add'
但一切都错了。
最佳答案
我认为你必须使用别名。
def load_into_soulmate
loader = Soulmate::Loader.new("people")
loader.add("term" =>"name", "id" => self.id, "aliases" => [email], "data" => {
"link" => Rails.application.routes.url_helpers.person_path(self)
})
end
关于ruby-on-rails - 在 Soulmate::Loader 中添加两个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28688684/