gpt4 book ai didi

ruby-on-rails - 在 ruby​​ on rails 中访问数组中散列中的值

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:53 24 4
gpt4 key购买 nike

我是 Rails 的新手(但我的工作是每天使用 PHP)。我在获取哈希值时遇到问题。在我的 Controller 中,我有以下内容:

@artists = RSpotify::Artist.search(params[:q])

这会搜索包含传递给它的任何查询的艺术家。因此,搜索“Ozzy”将返回 Ozzy 的结果。在我看来,我正在运行以下循环遍历并输出图像的名称和第一个值的代码。

<%= @artists.each do |artist| %>
    <%= artist.name %><br />
    <%= a = artist.images.first %><br />
<% end %>

artist.images.first 的输出是:

{"height"=>640, "url"=>"https://i.scdn.co/image/0f9515867c122afc298e626c10afbb189165e4f5", 
"width"=>640}

我想要做的是访问 url 部分,这样我就可以将它作为源添加到图像标签中,但我正在努力做到这一点。它绝对是一个哈希 - 运行以下证明了这一点。 艺术家.images.first.class运行它会导致错误(nil:NilClass 的未定义方法“[]”),我不确定自己做错了什么。 艺术家.images.first[:url]

如有任何帮助,我们将不胜感激。

最佳答案

你可以调用:

artist.images.first.try(:fetch, "url")

如果 images.first 为 nil,它将返回 url 或 nil。注意它会提高

KeyError: key not found: "url"

如果 images.first 是一个散列但没有 url 键。在这种情况下,您还可以提供默认网址:

artist.images.first.try(:fetch, "url", "/default_image.jpg")

关于ruby-on-rails - 在 ruby​​ on rails 中访问数组中散列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31370004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com