Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:如何通过控制器方法向数据库动态添加行?_Ruby On Rails_Database - Fatal编程技术网

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