【发布时间】:2020-07-20 23:01:57
【问题描述】:
我对 RubyOnRails 完全陌生,所以请小心我可能犯的最简单的错误。我开发了一个简单的应用程序,它显示 .csv 文件中的一些数据。这是我的代码:
class UsersController < ApplicationController
def index
@users = getUsers
end
private def getUsers
invoker = ProviderInvoker.new(UserProvider.new("app/data/user_data.csv"))
invoker.getData
end
end
我的应用显示我想要的数据。到目前为止没问题,但我想创建和使用内部 API 来提供数据,所以我将 UsersController 更改为:
require "net/http"
class UsersController < ApplicationController
def index
uri = URI("http://localhost:3000/api/users")
response = Net::HTTP.get(uri)
@users = JSON.parse(response)
end
end
并在 app/controllers/api 下创建了另一个 UsersController
class Api::UsersController < ApplicationController
def index
invoker = ProviderInvoker.new(UserProvider.new("app/data/user_data.csv"))
data = invoker.getData
render json: data
end
end
最后我在 app/serializers 下创建了一个序列化器:
class UsersSerializer < ActiveModel::Serializer
attributes :id, :first_name, :last_name, :email, :user_name
end
当我转到我的索引页面时,我收到类似
的错误找不到资源的序列化程序:#
显然我的序列化程序有问题,但我找不到。
【问题讨论】:
标签: ruby-on-rails ruby api serialization