0

私は RoR をまったく初めて使用し、多数の質問と、各質問に関連付けられた多数の回答を含む単純な Web サイトを構築したいと考えています。ユーザーは各質問に関連付けられた 1 つの回答を選択します。複数の質問があります。次に、終了後、ユーザーは送信ボタンをクリックし、データをデータベースに保存します。

私が理解するのに苦労しているのは、自分で定義する質問と回答をどのように保存すればよいですか? データベースに関する少しの経験に基づいて、2 つのデータベースを作成する必要があると思います。1 つは質問用で、もう 1 つは各質問に関連付けられた回答用です。どうすればいいですか、どうすればいいですか?

編集: 申し訳ありませんが、2 つのテーブルを意味していました。

4

2 に答える 2

2

1dbで十分です。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
于 2013-10-12T22:56:38.183 に答える
0

Igor の回答に加えて、次の列を使用して 2 つのモデルとテーブル (質問と回答) を設定する必要があります。

#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を移行できます。

于 2013-10-13T11:56:43.483 に答える