gpt4 book ai didi

ruby-on-rails - Rails/Redis/Soulmate - 如何按用户角色限制搜索结果?

转载 作者:IT王子 更新时间:2023-10-29 06:14:51 24 4
gpt4 key购买 nike

我已将我的应用程序设置为使用 Soulmate 和 soulmate.js 进行自动完成。它搜索两种模型 - 用户和书籍。但是,我对用户有多个角色——有些是作者,有些是读者。我只希望作者出现在结果中。

有没有办法根据新用户的角色限制在注册时添加到 Redis 的内容?

在 user.rb 中(使用 "if role = "author")不起作用

def load_into_soulmate
loader = Soulmate::Loader.new("authors")
loader.add("term" => fullname, "id" => self.id, "data" => {
"link" => Rails.application.routes.url_helpers.user_path(self)
}) if self.role = "author"
end

def remove_from_soulmate
loader = Soulmate::Loader.new("authors")
loader.remove("id" => self.id)
end

在 pages.js 中

$('#search').soulmate({
url: '/search/search',
types: ['books','authors'],
renderCallback : render,
selectCallback : select,
minQueryLength : 2,
maxResults : 5
})

或者,我可以将角色添加到 Redis 存储的内容中,然后告诉 js 只为角色 = "author"的用户提供服务吗?

谢谢!!

最佳答案

我在 user.rb 的 after_save 中用条件解决了它:

after_save :load_into_soulmate, :if => :is_author

def is_author
if self.role == "author"
true
else
false
end
end

关于ruby-on-rails - Rails/Redis/Soulmate - 如何按用户角色限制搜索结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27711332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com