Ruby-on-Rails - 用关系创建数据库?

时间:2013-10-12 22:36:19

标签: ruby-on-rails ruby sqlite

我对RoR完全不熟悉,我想构建一个简单的网站,其中包含大量问题,以及与每个问题相关的一系列答案。用户选择与每个问题相关联的一个答案,并且存在多个问题。然后,完成后,用户将单击提交按钮,我将他们的数据存储到我的数据库中。

我弄清楚的是我应该如何存储我自己定义的问题和答案?基于对数据库的一点经验,我认为我应该构建两个数据库,一个用于问题,一个用于与每个问题相关的答案。我该怎么办?我该怎么做?

编辑:我的意思是两张桌子,抱歉。

2 个答案:

答案 0 :(得分:2)

一个数据库就足够了。你应该有2个表(问题和答案):

class Answer < ActiveRecord::Base
  attr_accessible :body
  belongs_to :question
end

class Question < ActiveRecord::Base
  attr_accessible :body
  has_many :answers
end

这假设每个问题都有许多可能的答案

可以生成模型+迁移:

rails g model Question body:string
rails g model Answer body:string question:references

答案 1 :(得分:0)

除了Igor的答案之外,你还需要设置2个型号&amp;表(问题与答案)包含以下列:

#rails generate migration AddQuestionsAndAnswersDatabases
class AddQuestionsAndAnswersDatabases < ActiveRecord::Migration
  def change
    create_table :questions do |t| #-> creates questions table
        t.string :body
        t.timestamps
    end

    create_table :answers do |t| #-> creates answers table
        t.integer :question_id
        t.string  :body
        t.timestamps
    end
  end
end

这将为您创建数据库,然后您可以运行“rake db:migrate”命令来迁移它们。