如何从ruby中的数据库中获取数据

时间:2013-11-29 04:19:57

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

我有数据库:

class CreateDataintables < ActiveRecord::Migration
  def change
    create_table :windows do |t|
      t.string :window
      t.timestamps
    end

     create_table :channels do |t|
      t.integer :channel
      t.integer     :data
      t.belongs_to :window
      t.timestamps  
    end 


  end
end

我想从/向窗口“test”读取/写入数据,通道“1”但不知道该怎么做。请给我一些示例代码。我真的需要它。

2 个答案:

答案 0 :(得分:0)

以下应为型号代码:

Class Window < ActiveRecord::Base
  has_many :channels
end

class Channel < ActiveRecord::Base
  belongs_to :window
end

在控制台中,执行以下操作:

@window = Window.create(window: "This is window-1")

这将创建一个windows-instance并将其保存到数据库中。

100.times do |index|
  Channel.create(channel: Random.rand(1000),
                 data:    Random.rand(1000),
                 window:  @window)
end

这将创建属于先前创建的窗口的100个Channel实例。另外,将它们保存到数据库中。

@window.channels将返回相应的100个频道。

这是您编写/插入记录和读取/获取记录的方式。

请更好地阅读http://edgeguides.rubyonrails.org/active_record_basics.html#createhttp://edgeguides.rubyonrails.org/active_record_basics.html#read以及进一步探索

答案 1 :(得分:0)

你真的需要回到绘图板,伙计。

大多数rails初学者都是从twitter克隆教程开始的,至少这就是我所做的。

以下是我第一次开始使用ActiveRecord https://www.codeschool.com/courses/rails-for-zombies-redux

时开始使用的免费课程。