2013-09-25 49 views
0

我在網上搜索了關於如何做我想做的事情的體面解釋,但找不到任何東西。與第三方yummly api在rails 4中工作

我想要做的就是讓用戶能夠通過yummly API搜索和返回一些結果回來......

下面是一些代碼。

class HomeController < ApplicationController 
    def index 
    @results = Yummly.search('Onion') 
    @recipe = @results.map(&:to_s) 
    end 
end 

我已經安裝了Yummly寶石,讓我打電話給Yummly.search 我怎麼能允許用戶搜索

index.html.erb

<% @results.each do |r| %> 
    <%= r.name %> 
    <% end %> 

home_controller.rb而不是硬編碼呢?它返回只是很好的硬編碼,但我不知道如何讓用戶搜索。

謝謝!

回答

0

理想情況下,您將擁有一個允許用戶輸入搜索詞的表單,然後將該詞傳遞給Yummly API。

喜歡的東西(替代自己的路線名稱):

<%= form_tag({controller: 'home', action: 'index'}, {method: :get}) do %> 
    <%= text_field_tag 'search' %> 
<% end %> 

而在你的控制器:

Yummly.search(params[:search]) 
+0

我想這就是我越來越掛了一點點。我不完全知道要使用什麼路由名稱。假設我剛剛生成了一個home_controller,我的路線到底是什麼? – misteroptimist

+0

它是你在'routes.rb'文件中定義它的任何東西。在這種情況下,如果您的Home#索引操作將處理表單,則可以按照我的說法放置它。 – sevenseacat

+0

我在努力,我真的是。感謝您對我的耐心等待。 = form_tag {controller: 'home', action: 'index'} do = text_field_tag 'search'是這樣的嗎?因爲我正在返回錯誤。我只是想弄清楚我錯過了什麼,爲什麼我似乎無法理解這一點。 – misteroptimist