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
我正在尝试用 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