我完全陌生於RoR,我想建立一個簡單的網站,其中包含一系列問題以及與每個問題相關的一系列答案。用戶選擇與每個問題相關的一個答案,並且存在多個問題。然後,完成後,用戶將點擊提交按鈕,我將他們的數據存儲到我的數據庫中。Ruby on Rails - 用關係創建數據庫?
我在解決問題時遇到的困難是應該如何存儲我將要定義的問題和答案?基於對數據庫的一些經驗,我認爲我應該構建兩個數據庫,一個用於問題,一個用於與每個問題相關的答案。我該怎麼做,我該怎麼做?
編輯:我的意思是兩張桌子,對不起。
我完全陌生於RoR,我想建立一個簡單的網站,其中包含一系列問題以及與每個問題相關的一系列答案。用戶選擇與每個問題相關的一個答案,並且存在多個問題。然後,完成後,用戶將點擊提交按鈕,我將他們的數據存儲到我的數據庫中。Ruby on Rails - 用關係創建數據庫?
我在解決問題時遇到的困難是應該如何存儲我將要定義的問題和答案?基於對數據庫的一些經驗,我認爲我應該構建兩個數據庫,一個用於問題,一個用於與每個問題相關的答案。我該怎麼做,我該怎麼做?
編輯:我的意思是兩張桌子,對不起。
一分貝就夠了。你應該有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
而且伊戈爾的答案,你需要設置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
」命令來遷移它們。
嗨,謝謝你提出伊戈爾的答案。雖然我的答案有點困惑,因爲我認爲伊戈爾的答案已經爲我創造了模型和表格,不是嗎? – dtgee
抱歉,我沒有正確解釋自己!伊戈爾展示了你的mod應該具有的_relations_,並且我只是展示了相應的表格將如何顯示(I.E答案表必須有一個question_id列:)希望有所幫助? –
我們可以將此討論移至聊天嗎? (我不知道如何開始)編輯:nvm在這裏:http://chat.stackoverflow.com/rooms/39153/ror-creating-model-relations – dtgee