[英]【Rails】How to turn a hash in an array with each in erb
ruby 2.6.5
導軌 6.0.3
感謝您的關注。
我正在 Rails 中創建一個 web 應用程序。
我想知道您是否可以告訴我如何將多個表連接在一起,然后對每個表中的每個元素重復一次。
從下表中,我們要獲取與用戶相關的任務以及與任務相關的信息(解決方案和擁有解決方案的公司名稱),並將它們放在數組中的 hash 中。
我想 output 我們以這種方式創建的數組,一次一個,使用 erb 中的每個。
(我不知道如何在 EACH 中打開任務,但仍然 output 是公司名稱和與 EACH 中的任務相關的其他信息。)
像這樣
A suitable solution for mike task "task1
・ Company name:Dcompany Solution:「solution2」
・ Company name:Ccompany Solution:「solution3」
A suitable solution for mike task "task1
・ Company name:Acompany Solution:「solution1」
用戶表
|id|name|
| 1|mike|
| 2|bob |
任務表
|id|task_name|user_id|
| 1|task1 | 1|
| 2|task2 | 1|
| 3|task3 | 2|
推薦表
|id|task_id|solution_id|
| 1| 1| 2|
| 2| 1| 3|
| 3| 2| 1|
解決方案表
|id|solution_name|company_id|
| 1| solution1| 1|
| 2| solution2| 4|
| 3| solution3| 3|
公司表
|id|name |
| 1|Acompany|
| 2|Bcompany|
| 3|Ccompany|
| 4|Dcompany|
首先,我能夠加入如下所示的表格,將我想要的數據作為一個表格。
但是,我不知道如何從這里提取數據以及如何將其轉過來,所以我放棄了。
tasks = user.eager_load(:tasks)
tasks = tasks.eager_load(:recommends)
tasks = tasks.eager_load(recommends: :solutions)
tasks = tasks.eager_load(recommends: {solutions: :companies })
這大約是我能夠獲得理想值的方式。
infos = []
users.each do |user|
info = {}
temporary_array = []
user.companies.each do |company|
end
info[:detail] = temporary_array
infos << info
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.