Я создал свое приложение, чтобы использовать Soulmate и soulmate.js для автозаполнения. Он выполняет поиск по двум моделям - «Пользователи и книги». Но у меня есть несколько ролей для пользователей - некоторые из них авторы, а некоторые - читатели. Я хочу, чтобы авторы показывали результаты.Rails/Redis/Soulmate - Как ограничить результаты поиска по роли пользователя?
Есть ли способ ограничить добавление к Redis, поскольку новые пользователи регистрируются на основе их роли?
в user.rb (с помощью «, если роль = "автор") не работает
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 только обслуживать пользователей, где роль = «Автор»?
спасибо !!
Просто немного внушения ... смена имени метод '' автора и вам просто нужно одну строку кода? в методе body 'role == 'author'', который вернет T или F ... –