Так что у меня проблема с амс.Я использую Rails 5.2 и читаю множество учебных пособий, и даже когда я сделал именно то, что они показали, у меня все еще есть то, чего нет, и я не нашел ответа в Google.
У меня есть модель курса, Видео, викторины и сегменты.Конечно, есть много сегментов, сегмент может быть видео или викторина (я использую Сти).Вот как я это написал:
app / models / course.rb
class Course < ApplicationRecord
validates :title ,presence: true
validates :author ,presence: true
has_many :videos
has_many :quizs
has_many :segments
end
app / models / сегмент.rb
class Segment < ApplicationRecord
belongs_to :course
end
app / models / quiz.rb
class Quiz < Segment
validates :course_id ,presence: true
validates :name ,presence: true
belongs_to :course
end
app / models / video.rb
class Video < Segment
validates :course_id ,presence: true
validates :name ,presence: true
belongs_to :course
end
app / controllers / courses_controller.rb
class CoursesController < InheritedResources::Base
def show
@course = Course.find(params[:id])
render json: @course.attributes
end
def index
@courses = Course.all
render json: @courses
end
end
app / serializers / course_serializer.rb
class CourseSerializer < ActiveModel::Serializer
attributes :title, :author
has_many :segments
end
и вот что мне показалось
У меня есть пара проблем:
- Iя не знаю, откуда взято это имя, и я не знаю, как его изменить или скрыть.
- , даже когда я запрашиваю просмотр одного курса, я получаю дату создания и другие вещи, которые я не сделалхочу, хотя я настроил его так, что вижу только заголовок и автора.
- Я хочу знать, смогу ли я настроить ответ json, чтобы не видеть заголовок отношений или изменять его имя.