Rails 5 Api 和 Angular 4 个活动记录关联(belongs_to 和 has_many)

Rails 5 Api and Angular 4 active record associations (belongs_to and has_many)

我正在尝试用 rails 5 Api 和 Angular4 开发一个 SPA 作为前端,我有设计和 angular2-token 工作正常,我的模型是用户和小说,我在获取属于特定用户的所有小说时遇到问题,即使我在小说模型中有 user_id 参考,我是新来的。

新模型

class Novel < ApplicationRecord
  belongs_to :user
end

用户模型

class User < ActiveRecord::Base
  # Include default devise modules.
  has_many :novels
  devise :database_authenticatable, :registerable,
          :recoverable, :rememberable, :trackable, :validatable,
          :omniauthable
  include DeviseTokenAuth::Concerns::User
end

我的小说组件 Angular

export class HomeComponent implements OnInit {
  userEmail:string;
  novels: Array<NovelService>;
  constructor(public authService:Angular2TokenService,
    public http: HttpClient) {
      http.get('http://localhost:3000/novels').
      subscribe((res : NovelService[])=>{
        this.novels = res;
      });
  }

user = User.find id

user = User.find_by email: 'email'

然后:

user.novels

Novel.where(user_id: user.id)

为了那些可能有类似问题的人的利益,Active Model Serializer 是您开始所需要的一切 Here is the github link