2012-01-29 47 views
0

嗨,我正在RoR上實現一個Web應用程序。我的第一個模型有三個字段作爲輸入(重量,身高和性別),而我的第二個模型有2個字段(重量和身高)。我實施了第一個模型,並且正在考慮爲兩個領域的模型創建一個單獨的模型。我的任務是當我將數據放入第二個模型(我正在考慮實現)時,我的代碼應該從第一個模型中提取所有數據,即包含三個字段的數據,然後對其執行計算。如何在Ruby on Rails中的兩個模型之間共享數據

我的問題是:

將在同一分貝這兩種模式之間可以共享?當我輸入數據並將數據提交到第二個模型表單時,我應該如何從第一個模型提取數據?

+0

這兩個模型之間的邏輯關係是什麼?他們是否有關係,還是他們都是某些通用父類的有效子類?如果是後者,那麼下面的STI建議是好的。 – 2012-01-29 16:42:35

+0

他們沒有任何關係。我還沒有製作第二個模型,有兩個領域,但打算這樣做。我的項目涉及使用三個字段的主模型數據,並在小模型(2字段)視圖中顯示結果輸出。 – 2012-01-29 19:47:38

回答

0

從您的問題的細節它不完全確定,但也許Single Table Inheritance可以幫助你在這裏。

基本上你可以擁有這些機型:

class BaseModel < ActiveRecord::Base; end 
class ThreeFieldModel < BaseModel; end 
class TwoFieldModel < BaseModel; end 

你的遷移將包含其中包括一個神奇的type列的所有領域:

create_table :base_model do |t| 
    t.string :type, null: false 
    t.string :weight 
    t.string :height 
    t.string :gender 
    t.timestamps 
end 

如果你決定使用STI,我建議閱讀一個或兩個關於這個話題的教程。正確使用STI和Rails可能有時很困難。

相關問題