我正试图在我的rails应用程序中获得最接近的搜索关键字匹配。在我的搜索控制器里,我有
class SearchController < ApplicationController
def index
q = params[:q]
@courses = current_academy.courses.search(title_cont: q).result
@teachers = current_academy.teachers.search(firstname_cont: q).result
@articles = current_academy.articles.current_locale.search(title_cont: q).result
end
end
在我看来
<form accept-charset="UTF-8" method="post" action="{{ request.url_helpers.search_path }}">
<label for="q">Search for:</label>
<input id="mySearch" name="q" type="text" value="" />
<input name="authenticity_token" type="hidden" value="" />
<input type="submit" value="Search" />
</form>
目前,假设一个课程的标题是“数字课程”,那么搜索“数字”就会找到该课程。问题是像“digital zzz”这样的搜索查询不会返回任何内容,因此无法找到课程。
如何使用ransack确保搜索查询返回尽可能匹配的记录。我试过其他的搜索谓词,但是没能成功。我想知道最好的办法。