我尝试使用Yelp-Ruby gem搜索Yelp API。虽然我在获取结果方面取得了一些成功,但有时候会出现这样的错误:
#
的未定义方法`image_url'我认为返回的JSON没有image_url或image_url = nil。但我不知道如何解决它(我是铁杆新手)。
这是我的搜索控制器:
def search
parameters = { term: params[:term], limit: 10}
@response = Yelp.client.search('Melbourne', parameters)
render 'location_search/new'
端
相应的结果视图:
<% @response.businesses.each do |business| %>
<div class="large-6 columns">
<p><%= image_tag business.image_url %>
<p style='color: white'><%= business.name %>
<p style='color: white'><% business.categories.each do |category, name| %>
<%= name %> ,
<% end %>
<p style='color: white'><%= business.rating %>
<p style='color: white'><%= image_tag business.rating_img_url %>
</div>
<% end %>
谢谢,
答案 0 :(得分:1)
Vuong,尝试使用respond_to方法检查是否确实存在业务方法/属性image_url
。像这样:
<% if business.respond_to?(:image_url) %>
<p><%= image_tag business.image_url %></p>
<% end %>
在这种情况下,仅当对象确实具有image_url
方法/属性时才会显示图像。