在我的 rails 应用程序中出现 nil class 错误
Getting nil class error in my rails app
我正在尝试从我的 rails 应用中的 instagram API 中提取图像,但目前出现错误:
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
search 从未在您的控制器中定义...我认为您的意思是 @tag 因为这是在您的控制器中定义的并且可能意味着您的视图?
尝试将您的视图更改为:
<div class="container">
<div class="row">
<% @tag.each do |instagram| %>
<%= image_tag instagram.images.low_resolution.url %>
</div>
<% end %>
</div>
试试这个
可见
<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
控制器:
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
我正在尝试从我的 rails 应用中的 instagram API 中提取图像,但目前出现错误:
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
search 从未在您的控制器中定义...我认为您的意思是 @tag 因为这是在您的控制器中定义的并且可能意味着您的视图?
尝试将您的视图更改为:
<div class="container">
<div class="row">
<% @tag.each do |instagram| %>
<%= image_tag instagram.images.low_resolution.url %>
</div>
<% end %>
</div>
试试这个
可见
<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
控制器:
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