je dois nettoyer mon code d'utiliser:Inclure les associations de modèles à partir du modèle
# class ProjectsController < ApiController
def show
render json: Project.find_by(id: params[:id]).as_json(include: :user)
end
à:
render json: Project.find_by(id: params[:id]) // should include the association
Y at-il un moyen de mettre cette logique dans le modèle? Im en utilisant Rails 5 API
class Project < ApplicationRecord
belongs_to :user, include: :project // I thought this would work
def self.foo
self.includes(:user)
end
end
# in controller
render json: Project.foo.find_by(id: params[:id]) // nothing
si Project
appartient à de nombreux modèles et doivent inclure en appelant seulement Project.find(1)
, je vais avoir un peu includes
imbriqué dans mon contrôleur. Pourrais-je mettre toute cette logique dans le modèle alors Project.find(1)
montrerait toutes les associations au format json?
vous pouvez essayer cela, dans votre modèle de projet: 'def as_json (options = {}) super (y compris:: l'utilisateur) fin ' – Thanh
Salut tout ... malade essayer les deux dans un peu puis répondre. – Sylar
@Thanh Excuses pour tard répondre. Pardon. Cela a bien fonctionné. Merci! Vous pourriez ajouter ceci comme réponse si vous aimez. – Sylar