从用户输入生成新列?

时间:2015-01-07 22:12:11

标签: ruby-on-rails ruby multiple-columns

而不是我的_form为每个新动作生成一个新行,如何让它生成一个新列?

表#1:

ACTION | RESULT | MONTH    
ACTION | RESULT | MONTH    
ACTION | RESULT | MONTH

表#2:

ACTION | ACTION | ACTION    
RESULT | RESULT | RESULT   
MONTH  | MONTH  | MONTH

是否在索引或控制器或模型中进行更改?

我的最终目标是创建一个动态表格,用户可以看到他每月对他输入的动作的改进,例如,如果他的动作是" Mile run"然后从一个月到下一个月,他会增加他最快的英里时间。我对此很难,因为我查看的所有教程都会添加新行,而不是新行和新列。

奖金表#3:

ACTION | ACTION | ACTION
RESULT | RESULT | RESULT | MONTH (i.e. Jan)
RESULT | RESULT | RESULT | MONTH (i.e. Dec)
RESULT | RESULT | RESULT | MONTH (i.e. Nov)

1 个答案:

答案 0 :(得分:0)

考虑一下:

foo = [%w[action result month]] * 3
# => [["action", "result", "month"],
#     ["action", "result", "month"],
#     ["action", "result", "month"]]

foo.transpose
# => [["action", "action", "action"],
#     ["result", "result", "result"],
#     ["month", "month", "month"]]

transpose内置于Ruby的Array类中。因此,至少,您可以执行正常的数据库请求,将所需信息转换为值数组,然后transpose并输出您想要的信息。

  

是否在索引或控制器或模型中进行更改?

我可能会在控制器中这样做。

如何获得奖励表作为奖励问题留给您。