HTTParty无法获取相册的ID

问题描述 投票:1回答:1

我正在构建一个Rails应用,并且试图从API中获取一些数据。

这是我的控制器

require 'will_paginate/array'

class AlbumsController < ApplicationController
  def index
    @albums = HTTParty
      .get('https://jsonplaceholder.typicode.com/albums', :headers => {'Content-Type' => 'application/json'})
      .paginate(:page => params[:page], :per_page => 10)
  end

  def show
  end
end

这是我的索引视图

<main role="main" class="flex-shrink-0">
  <div class="container">
    <h1 class="mt-5">Albums</h1>
    <p class="lead">Here we show all albums and it's details</p>

    <div class="row">
      <% @albums.each do |album| %>
        <div class="col-md-4">
          <h5 class="card-title">
            <%= album['title'] %>
          </h5>

          <p>User_id: <%= album['user_id'] %> | id: <%= album['id'] %><p>
          <%= link_to "View Album", album, class: "btn btn-primary" %>
        </div>
      <% end %>
    </div>
  </div>

  <%= will_paginate @albums, renderer: WillPaginate::ActionView::BootstrapLinkRenderer, class: 'margin-auto' %>
</main>

这里的问题是链接,路由文件中有resources :albums

                               albums GET    /albums(.:format)                                                                        albums#index
                                      POST   /albums(.:format)                                                                        albums#create
                            new_album GET    /albums/new(.:format)                                                                    albums#new
                           edit_album GET    /albums/:id/edit(.:format)                                                               albums#edit
                                album GET    /albums/:id(.:format)                                                                    albums#show
                                      PATCH  /albums/:id(.:format)                                                                    albums#update
                                      PUT    /albums/:id(.:format)                                                                    albums#update
                                      DELETE /albums/:id(.:format)                                                                    albums#destroy
                           users_show GET    /users/show(.:format)                                                                    users#show
                                 root GET    /                                                                                        albums#index

但是,当我将鼠标悬停在按钮上时,它链接到以下内容

“图像”

我该如何只链接到ID,即localhost:3000 / albums / 2

我正在构建一个Rails应用,并且试图从API中获取一些数据。这是我的控制器要求的'will_paginate / array'类AlbumsController

应该很容易:

这是获取相册ID的方法:

album['id']

并且您可以使用ID来获取链接:

<%= link_to "View Album", albums_path(album['id']), class: "btn btn-primary" %>

但是您必须(通过您的路线)定义了一个albums_path帮助器,它应该可以正常工作。

ruby-on-rails ruby ruby-on-rails-5 httparty
1个回答
1
投票

应该很容易:

© www.soinside.com 2019 - 2024. All rights reserved.