2016-01-01 39 views
-1

我试图拉从Instagram的API图片在我的Rails应用程序,我目前得到一个错误:获得零级错误在我的Rails应用程序

undefined local variable or method 'search' 

我的观点

<div class="container"> 
     <div class="row"> 
      <% search.each do |instagram| %> 
      <%= image_tag instagram.images.low_resolution.url %> 
      </div> 
      <% end %> 
     </div> 

我的控制器

class PagesController < ApplicationController 

    def home 
    access_token = "hidden" 
    client = Instagram.client(access_token: access_token) 
    default_search = client.tag_search('travel') 
    search_query = client.tag_search(params[:q]) 

    if params[:q] 
     search_query = client.tag_search(params[:q]) 
     @tag = search_query.present? ? search_query : default_search 
    else 
     @tag = tag.first.name 
     @search = client.tag_recent_media(@tag) 
    end 

end 
    def about 
    end 
end 
+0

错误在您的视图中。搜索定义在哪里? –

+0

不应该在您的视图中搜索“@ tag”吗? –

+0

是的错误是在我看来... – westman2222

回答

0

试试这个

鉴于

<div class="container"> 
    <div class="row"> 
    <% @search.each do |instagram| %> 
     <%= image_tag instagram.images.low_resolution.url %> 
    <% end %> 
    </div> 
</div> 

控制器

class PagesController < ApplicationController 
    def home 
    access_token = "hidden" 
    client = Instagram.client(access_token: access_token) 
    default_search = client.tag_search('travel') 
    search_query = client.tag_search(params[:q]) 
    if params[:q] 
    search_query = client.tag_search(params[:q]) 
    @tag = search_query.present? ? search_query : default_search 
    @search = client.tag_recent_media(@tag) 
    else 
     @tag = default_search.first.name 
     @search = client.tag_recent_media(@tag) 
    end 
    end 
end 
+0

好的,谢谢..我会尽快尝试 – westman2222

+0

确定获取未定义的局部变量或方法'标记' – westman2222

+0

我认为如果参数[:q]不存在,那么'@tag = default_search'对? –

0

搜索永远不会在您的控制器中定义...我认为您的意思是@tag,因为这是在您的控制器中定义的,可能意味着您的观点?

试着改变你的看法,以这样的:

<div class="container"> 
    <div class="row"> 
     <% @tag.each do |instagram| %> 
     <%= image_tag instagram.images.low_resolution.url %> 
     </div> 
     <% end %> 
    </div> 
+0

好吧,那么我需要改变以获得这个启动? – westman2222

+0

更新了我的控制器,见上面但仍然有相同的问题...... – westman2222

+0

请回到您的原始控制器,并了解以@开头的变量(即:@ tag')和启动变量没有(即:'tag')都是不同的变量。 –

0

控制器:

class PagesController < ApplicationController 
    def home 
    access_token = "token" 
    client = Instagram.client(access_token: access_token) 
    default_search = client.tag_search('travel') 


    if params[:q] 
     search_query = client.tag_search(params[:q]) 
     @tag = search_query.present? ? search_query : default_search 

    else 
     @tag = default_search 
    end 

    @tag = @tag.first.name 
    @search = client.tag_recent_media(@tag) 



    end 

    def about 
    end 

end 
相关问题