2013-02-05 38 views
0

所以我有,我應該在我的軌道項目中創建一些表的模式的模式,希望確保這是這樣做的正確方法:秩序的任務要做,以創建on Rails的

  • 1:我可以使用rails generate model建立初步架構

  • 2:那我應該去模式和手動手型更依賴,我需要像外鍵,確認者對某些領域,等

  • 3:轉到Route.rb並排除我不需要的路由。 (這是應用程序的服務部分,根據需求我主要只需要GET)。

  • 4:轉到控制器,我需要他們剛剛返回JSON,所以我應該修改他們的是,加入一些ActiveRecord的代碼,也照顧那些一對多表,我在模型中有太多。

還有什麼我失蹤?或更好的方式來做到這一點?

+0

你在問關於模式文件嗎?在'db/schema.rb'中?在我看來,你在問是否有任何明顯的步驟,你缺少設置一個基本的rails應用程序? – Batkins

+0

不,我們在數據庫架構上創建的模式,比如MySQL模式,我有這種想法並且想要開始在Rails中構建它 – Bohn

回答

1

大多是正確的,但幾件事情:

  • 您可以在創建模型的其餘部分與rails generate model外鍵添加到表中。然後您需要在模型文件(即belongs_tohas_many)中創建關聯。您還需要創建一個將該鍵作爲索引的遷移(用於速度目的)。正如您在評論中所說的那樣,只要您再次運行db:migrate,就可以隨時通過遷移來調整和編輯模型。

  • 當您運行rails generate model時,不會創建路線和控制器。這些僅與模型一起生成,僅在創建腳手架(即rails generate scaffold)時才創建。您需要自己手動添加路線,並且可以運行rails generate controller(或者只是自己創建文件),如果您不使用腳手架。

+0

謝謝,我可以使用rails generate model創建裸骨模型,然後我學到了更多關於外鍵和關聯的知識,我手動添加它們?並再次運行db:migrate? – Bohn

+0

是的,這是正確的。關聯不需要'db:migrate',但是將鍵添加到表中的遷移將會。當然,如果沒有外鍵存在,關聯就無法工作。 (我編輯了答案來反映這一點) – Eric