gpt4 book ai didi

sql - 使用 Ruby on Rails 查询

转载 作者:行者123 更新时间:2023-11-29 07:14:26 24 4
gpt4 key购买 nike

您好:我正在为 Rails 查询而苦苦挣扎。最后,我想做出一个包含以下内容的 JSON 响应:所有拥有至少一个公司的国家/地区的列表,通过“地址”关联,以及一个国家/地区中有多少公司国家。这是我的简单模型结构:

class Country < ActiveRecord::Base
has_many :addresses
end

class Address < ActiveRecord::Base
belongs_to :country
belongs_to :company
end

class Company < ActiveRecord::Base
has_one :address
end

用 Rails 解决这个问题的最优雅的方法是什么?

最佳答案

你需要重载 to_json 方法:

class Country < ActiveRecord::Base
has_many :addresses
def to_json
# format your country as json with all the elements you need
end
end

然后在你的 Controller 中做类似的事情:

countries = Country.find(:all).select{|c| c.companies.size > 0 }
json = countries.collect{|c| c.to_json }

您必须使用 has_many 来获取某个国家/地区的公司。此处的文档:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

抱歉,我没有时间获得更精确的解决方案,但希望这些指示对您有所帮助。如果您有具体问题,请随时发表评论或提出新问题。

关于sql - 使用 Ruby on Rails 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2340975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com