【问题标题】:Ruby on Rails: Populating databases and automatically transfer values in DatabasesRuby on Rails:填充数据库并在数据库中自动传输值
【发布时间】:2014-03-19 10:18:32
【问题描述】:

现在我的线性优化应用程序的功能存在一些严重问题,这对像你这样的程序员来说应该是轻而易举的事。

首先,我的seed.rb 没有按要求播种数据。我有一个简单的表格,有 4 列和 1 行。但是,当我尝试播种时,ruby 会自动生成两个数据库条目而不是一个。此外,它不是将值放在一行中,而是将它们对角线放置在不同的行中。

因此,我得到的不是像1|1|1 这样的行,而是:

1|-|-|
-|1|-|
-|-|1|

它不是创建 4 个条目,而是创建 8 个。创建一个生成 2 的条目也是如此。

这是我的种子.rb:

Period.create([{ period_nr: '1'}])

Capacity1.create([{ capacity_labour: '0'}, {capacity_machines: '0'}, {max_additional_personal_capacity: '0'}, {price_per_additional_capacity: '0'}])

我遇到的另一个问题是在表格中自动传输值。我有一个表格,我希望当您编辑一个列中的值时,该列中的所有其他值都会相应地发生变化。

示例:

|0|0|0|
|0|0|0|

转向:

|0|0|2|
|0|0|2|

当我在第三列第一行输入 2 时,它应该会自动转移到第三列第二行。有什么简单的方法吗?

请帮助我,这是一篇大约一周后到期的论文。我真的很绝望!

【问题讨论】:

    标签: mysql ruby-on-rails ruby ruby-on-rails-3


    【解决方案1】:

    你可以在你的seed.rb文件中进行如下操作:

    p=Period.new(:period_nr => 0)
    c=Capacity.new(:capacity_labour => 0, :capacity_machines => 0, :max_additional_personal_capacity => 0, :max_additional_personal_capacity =>0 )
    p.save
    c.save
    

    我不确定我是否理解其余部分。能说清楚一点吗?

    【讨论】:

    • 非常感谢您的帮助,真的!但是,我将尝试再次解释有关表格的问题:我想在一个列中输入一个值,它应该自动转移到该列中的所有其他值。想象一下,您有一个带有称为句点的列的表。现在我有一个值在这些期间不会改变,但它仍然在我的表中。通常需要在每一行中手动输入这个值,我希望一个人只需在列中的任何位置输入一次。
    • 你可以使用循环来做
    • 我必须在哪里编写该循环的代码?我的表如下: Period 需求 生产系数机器 而且我希望能自动转移生产系数。
    • 由于它使用 .each 方法,因此该表希望所有时期都有不同的生产系数...
    • 您可以使用 update_all 确保它在任何地方都被更改。或者您可能想考虑创建一个新模型来保存该值,因此您只需要更改关系的值而不是每个条目
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多