2015-04-08 14 views
5

Tôi đã sử dụng Loopback để tạo API. Các tài liệu nói chung là thực sự tốt nhưng không thực sự trả lời câu hỏi của tôi về những điều sau đây: làm thế nào để tôi mở rộng (không thay thế) một xây dựng trong mô hình?Loopback - Cách dễ nhất để mở rộng mô hình tích hợp

Thông tin đầy hứa hẹn nhất đến từ this page - nó chỉ định cách xây dựng một lớp từ một lớp khác, thông qua kế thừa. Điều này rất hữu ích nhưng không lý tưởng - tôi muốn tạo mối quan hệ với các mô hình tùy chỉnh từ các mô hình cổ phiếu, ví dụ - "Vai trò" nên có nhiều "Quyền".

Trang tôi đề cập cũng hiển thị tệp Javascript, nằm ở số common/models/<modelName>.js, trong đó tiểu bang bạn có thể "mở rộng" mô hình dựa trên thuộc tính và tùy chọn bạn cung cấp. Máy chủ không bao giờ dường như nhấn tập tin ... Ví dụ: - Tôi đặt một tập tin trong common/models/role.js với nội dung sau:

var properties = { 
    exampleProperty: {type: String, required: true} 
}; 


var user = loopback.Model.extend('Role', properties); 
console.log('test'); 

Trước hết, nó dường như không nhấn tập tin nào cả (không console.log đầu ra được). Thứ hai, rõ ràng là vì điểm đầu tiên, nó không mở rộng mô hình với các thuộc tính mà tôi đã tạo ra.

Tôi có thiếu một cái gì đó rõ ràng hoặc là tài liệu chỉ đơn giản vậy?

+1

cùng một vấn đề ở đây. các tài liệu dường như không hoàn chỉnh khi giải thích cách mở rộng các mô hình nội tuyến - chúng dường như đề xuất u có thể mở rộng, nhưng giống như u, tôi thấy rằng việc sử dụng ví dụ, user.json/.js không phải là một tùy chọn. bạn đã thử kế thừa như đề xuất ở đây? Tôi lo ngại nó sẽ phá vỡ thẻ truy cập hoặc thường gây ra nhiều vấn đề hơn. –

+0

Xin chào, có thừa kế là con đường để đi. Nếu bạn mở rộng lớp 'User' cơ sở, bạn sẽ nhận được cùng một phương thức và bằng cách nào đó nó cũng tìm ra các công cụ accessToken cho bạn. – freshnode

Trả lời

3

Bạn nên tạo ra một mô hình mới qua slc loopback:model tên user. Theo mặc định, người dùng được xây dựng có tên là User, đó là lý do tại sao bạn có thể sử dụng chữ thường user hoặc thậm chí UserModel nếu bạn muốn. Sau đó, khi bạn được nhắc bởi trình tạo mô hình cho một mô hình cơ sở, hãy chọn User. Xem https://github.com/strongloop/loopback-faq-user-management/blob/master/common/models/user.json#L3

+0

Cảm ơn, tôi đoán tài liệu có chút sai lệch. Tôi muốn thêm các thuộc tính và quan hệ mới vào các mô hình ban đầu, nhưng tôi đoán đây không phải là cách tốt nhất. – freshnode

+0

Có, mở rộng mô hình tích hợp và sau đó thêm thuộc tính và quan hệ của bạn chắc chắn là con đường để đi. – superkhau

Các vấn đề liên quan