【发布时间】:2019-10-22 21:30:12
【问题描述】:
我有以下代码
<div class="container mt-4">
<div class="card">
<div class="card-header">
<h5>Name: <%= @user['name'] %> | Username: <%= @user['username'] %></h5>
</div>
<div class="card-body">
<h5 class="card-title">User details</h5>
<ul class="card-text">
<li>ID: <%= @user['id'] %></li>
<li>Name: <%= @user['name'] %></li>
<li>E-mail: <%= @user['email'] %></li>
</ul>
<ul>
<h5>Address</h5>
<li>Street: <%= @user['address']['street'] %></li>
<li>Suite: <%= @user['address']['suite'] %></li>
<li>City: <%= @user['address']['city'] %></li>
<li>Zipcode: <%= @user['address']['zipcode'] %></li>
<li>Geo Lat: <%= @user['address']['geo']['lat'] %></li>
<li>Geo Lng: <%= @user['address']['geo']['lng'] %></li>
</ul>
<ul>
<li>Phone Number: <%= @user['phone'] %></li>
<li>Website: <%= @user['website'] %></li>
</ul>
<ul>
<h5>Company details</h5>
<li>Company name: <%= @user['company']['name'] %></li>
<li>Company catchphrase: <%= @user['company']['catchPhrase'] %></li>
<li>Company bs: <%= @user['company']['bs'] %></li>
</ul>
<h5 class="card-title">User Albums</h5>
<div class="row">
<% @albums.each do |album| %>
<div class="col-md-4 mb-4">
<h5 class="card-title">
<%= album['title'] %>
</h5>
<%= link_to "View Album", album_path(album['id']), class: "btn btn-primary" %>
</div>
<% end %>
</div>
<%= will_paginate @albums, renderer: WillPaginate::ActionView::BootstrapLinkRenderer, class: 'margin-auto' %>
</div>
</div>
</div>
users_controller.rb
class UsersController < ApplicationController
def show
@user = HTTParty.get('https://jsonplaceholder.typicode.com/users/' + params[:id], :headers => {'Content-Type' => 'application/json'})
@albums = HTTParty
.get('https://jsonplaceholder.typicode.com/albums', :headers => {'Content-Type' => 'application/json'})
.paginate(:page => params[:page], :per_page => 6)
end
end
我的所有数据都来自外部 API。
在我浏览each 相册的地方,我只需要显示属于该用户的相册,因为目前,我正在循环浏览所有相册,无论它们是否属于该用户。
相册有一个 userId。
【问题讨论】:
-
@albums = Album.where(user: User.current)(User.current或您为找到当前登录的用户所做的任何事情)而不是@albums = Album.all -
@Viktor - 不幸的是,OP 没有说明他们正在处理从外部 API 接收的数组,而不是 ActiveRecord 对象。
-
我错过了控制器代码,添加了@Viktor
-
@jvillian ^^ 请见上文
标签: ruby-on-rails json ruby api