gpt4 book ai didi

mysql - 从 Rails 中的多连接查询创建 JSON 报告

转载 作者:行者123 更新时间:2023-11-30 22:57:52 24 4
gpt4 key购买 nike

我正在尝试创建一个自定义 Controller 操作(类似于“报告”),我可以用它来获取某些图表的 JSON 数据。鉴于数据的核心位于我将称为 Table1 Controller 的地方,这就是我放置方法的地方。 (我还尝试将它移动到 Table2 Controller ,并创建一个全新的 Report Controller ,但结果都很糟糕。)我遇到的问题是让它呈现JSON。为了简化事情,我将我的方法简化为以下内容:

def report
@table1 = Table1.all
respond_to do |format|
format.json { render json: @table1}
end
end

导航到 /report/report.json 会提示 无法为 Table1Controller 找到操作“报告”。只需创建文件 app/views/table1/report.html.erb 就足以让前者消失该消息。至于后者,它现在提示没有模板。有趣的是,我可以在同一目录中创建一个 report.json.erb 文件,错误会消失,但没有 JSON 数据。

更有趣的是,我在不同的 Controller 中做了同样的事情,而且效果很好。 =/

以上只是我的问题的一部分。我有几个相关的表,想提取需要多个连接的特定信息。我可以编写查询,但我似乎无法让 Rails 在任何一点上与我一起工作。我在想有一种“Rails”方式可以做到这一点,我只是没有这样做,这就是我陷入困境的原因。下面是查询:

select
table4.name as "Collection",
count(table4.name) as "Totals"
from
table1
left join
table2 on table1.table2_id = table2.id
left join
table3 on table1.table3_id = table3.id
left join
table4 on table3.table4_id = table4.id
left join
table5 on table1.table5_id = table5.id
group by table4.name
order by "Totals" desc

我尝试添加几种路线排列。我还尝试如下添加成员路由:

resources :table1 do
member do
get 'report'
end
end

生成的路由是/table1/:id/report(.:format)。这至少声称它找不到“报告” Action 。所有其他人都只是提示“表演”的行为。

最佳答案

我不知道为什么,但我可以通过将所有内容移至另一个 Controller 来使其正常工作。/耸肩。

关于mysql - 从 Rails 中的多连接查询创建 JSON 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467613/

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