1
我在過去曾問過類似問題,但認爲我可能錯誤地回答了問題。根據當前對象ID生成搜索結果
我想知道是否有可能在rails中通過對象的show動作獲取當前屬性,然後針對該屬性執行搜索功能。例如
def show
@recipe = Recipe.find(params[:id])
end
在配方模型有一個屬性
:dish_name
這改變這取決於配方我在看,所以說我想列出類似於當前dish_name是食譜顯示在顯示頁面上,我將如何去解決這個問題?只是在正確的方向尋找一些指針。我曾看過solr,但決定堅持搜索功能的快速搜索功能,儘管我無法在ransack中找到實現此目的的方法。有沒有人爲此類方法編寫過類似方法?
BBC食物做同樣的事情,如果不一樣,我想實現
http://www.bbc.co.uk/food/recipes/easy_chocolate_cake_31070
如果你看看右邊你會看到一個名爲相關食譜節
任何幫助表示讚賞
謝謝你的回答,所以爲了理解這裏發生了什麼,terms = @ recipe.dish_name.split('')將會拆分正在顯示的dish_name,所以每次都會依賴於recipe ID ? – Richlewis
我已經更新了我的答案,因爲我意識到你確實不需要爲這種類型的東西使用ransack。 –
爲了回答你的問題,'split'將'dish_name'作爲你所在頁面的配方('@ recipe.dish_name'),並將它拆分爲空格,所以「italian pasta」變成數組''italian 「,」麪食「]'。然後它將每個術語都包含在'%'s中,在SQL語言中這意味着「匹配包含這個術語的任何東西」。然後,您可以將其傳遞給'where'以獲取包含任一術語的所有*其他*食譜。 –