Ruby on rails Rails:如何通过控制器方法向数据库动态添加行?
在通过一个表的表单接受数据之后,我希望处理该数据并使用它为另一个表生成条目。基本上,我将获取第一组数据,将其插入公式中,然后将结果作为另一个表的条目输入。每个原始数据集在另一个表中生成多行(因为公式运行多次,其中一个变量在整个运行过程中递增) 简言之,我想做这样的事情:Ruby on rails Rails:如何通过控制器方法向数据库动态添加行?,ruby-on-rails,database,Ruby On Rails,Database,在通过一个表的表单接受数据之后,我希望处理该数据并使用它为另一个表生成条目。基本上,我将获取第一组数据,将其插入公式中,然后将结果作为另一个表的条目输入。每个原始数据集在另一个表中生成多行(因为公式运行多次,其中一个变量在整个运行过程中递增) 简言之,我想做这样的事情: def show @diagram = Diagram.find(params[:id]) @horizon = @diagram.horiz @horizon.times do |i| @cashflow
def show
@diagram = Diagram.find(params[:id])
@horizon = @diagram.horiz
@horizon.times do |i|
@cashflow = Cashflow.new
@flow = compute_cashflow(@diagram.investment, i)
@cashflow.flow = @flow
@cashflow.year = i
@cashflow.save
end
end
这可能吗?提前谢谢
编辑
下面是“计算现金流(投资,年度)”函数:
(现在没有意义,但我想测试一下这个想法)
当然,代码就是代码。您似乎是指其他表,而不是其他数据库。试一下可能会更快。这是否属于控制器代码是另一个问题。是的,谢谢,这就是我的意思。我已经试过了,但没有用——Rails不希望我这样设置数据。当我给出常量值时,它起作用,但当我传递变量时,它不起作用。使用logging或pry检查您的假设。正在现金流表中创建条目,但是它们的值都是零,尽管图表对象的值不是零。我在原来的帖子中添加了“计算现金流(投资,年份)”的方法。我不相信。使用
保存
查看是否存在任何异常。不相关的和修辞性的,它们是否应该与所有其他实体完全分离?
def compute_cashflow(investment, year)
return investment+year
end