Ruby on rails Rails:Resolve";“你有很多”;只按需

Ruby on rails Rails:Resolve";“你有很多”;只按需,ruby-on-rails,database,has-many,Ruby On Rails,Database,Has Many,我只将rails用作后端,将JSON数据提供给Ember前端应用程序 我的数据库结构是非常串联的,就像leeds到rails在每个请求上加载完整的数据库一样 我该怎么处理呢 例如,我有一个博客,博客“有很多”文章,文章“有很多”评论等等。当我想查看一个博客时,我不在乎评论,我所需要的只是文章列表 那么,当我不需要文章时,如何防止rails解决文章中的“has_many”关系呢?我想我已经找到了解决方案。。。不确定这是否是最好的方法,但它有效。。。我向控制器添加了一些条件,现在看起来像: def

我只将rails用作后端,将JSON数据提供给Ember前端应用程序

我的数据库结构是非常串联的,就像leeds到rails在每个请求上加载完整的数据库一样

我该怎么处理呢

例如,我有一个博客,博客“有很多”文章,文章“有很多”评论等等。当我想查看一个博客时,我不在乎评论,我所需要的只是文章列表


那么,当我不需要文章时,如何防止rails解决文章中的“has_many”关系呢?

我想我已经找到了解决方案。。。不确定这是否是最好的方法,但它有效。。。我向控制器添加了一些条件,现在看起来像:

def index
    @offices = Office.all
    render json: @offices.as_json(
        only: [:id, :title, :created_at],
        include: { 
            addresses: { 
                except: [:contacts] 
            } 
        }
    )
end

我想我已经找到解决办法了。。。不确定这是否是最好的方法,但它有效。。。我向控制器添加了一些条件,现在看起来像:

def index
    @offices = Office.all
    render json: @offices.as_json(
        only: [:id, :title, :created_at],
        include: { 
            addresses: { 
                except: [:contacts] 
            } 
        }
    )
end

如果使用
Blog.find(ID)
Rails将不会自动加载所有相关记录。如果是这样,那么您可能在某个地方出错。请提供更多用于调试的数据,如代码示例、查询日志等。好的,今天晚些时候,当我回到我的电脑时,我将提供一些代码。但从技术上讲:一切都很简单:我有一个序列化程序定义属性、关系和嵌入
embed:id,包括:true attributes:id,:name,:内容有许多:注释
和控制器用JSON响应响应_:JSON def index响应_与Article.all end重复,因为在我的配置文件中添加了解除润滑警告。
ActiveModel::Serializer.setup do | config | config.embed=:ids config.embedded_in_root=true end
。。。。这可能是个问题……如果使用
Blog.find(ID)
Rails将不会自动加载所有相关记录。如果是这样,那么您可能在某个地方出错。请提供更多用于调试的数据,如代码示例、查询日志等。好的,今天晚些时候,当我回到我的电脑时,我将提供一些代码。但从技术上讲:一切都很简单:我有一个序列化程序定义属性、关系和嵌入
embed:id,包括:true attributes:id,:name,:内容有许多:注释
和控制器用JSON响应响应_:JSON def index响应_与Article.all end重复,因为在我的配置文件中添加了解除润滑警告。
ActiveModel::Serializer.setup do | config | config.embed=:ids config.embedded_in_root=true end
。。。。那可能是个问题。。。