В настоящее время я создаю приложение только для Rails API с использованием Rails 6.0. Я использую fast_jsonapi для JSON: API-сериализация объектов Ruby. На данный момент я создал только UsersController
.
У меня есть user
модель со следующими атрибутами:
ActiveRecord::Schema.define(version: 2020_03_14_175719) do
create_table "users", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.string "username"
t.string "password_digest"
t.string "email"
t.string "phone"
t.text "address"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.index ["email"], name: "index_users_on_email", unique: true
t.index ["username"], name: "index_users_on_username", unique: true
end
end
Я создал user_serializer
для нее:
class UserSerializer
include FastJsonapi::ObjectSerializer
attributes :first_name, :last_name, :username, :password, :email, :phone, :address
end
Я также создал User
в базе данных через rails console
со следующей информацией:
User.delete_all
user = User.create! first_name: 'Promise', last_name: 'My last name', username: 'myusername', email: 'myemail@gmail.com', password: 'mypassword', phone: '002037363', address: 'my address'
puts "Created a new user: #{user.first_name} #{user.last_name} with email - #{user.email}"
Однако, когда я запускаю приведенную ниже команду в консоли rails:
UserSerializer.new(User.first).serializable_hash
Я получаю ошибку ниже:
NameError (неинициализированная константа UserSerializer)
Я пробовал несколько решений, но, похоже, ни одно работать Мне нужна помощь. Спасибо.