我正在開發應用程序,幫助人們概述他們的培訓結果。在不同的學科不同的計算。我需要將訓練存儲在與訓練相關的對象中。如何以及在哪裏聲明應包含AR對象的常量?
我必須在代碼中使用這個值來編程設置另一個對象的字段,計算結果取決於它,然後與它進行比較。
比如我有模型紀律和三個記錄與名稱
- 速度上400米
- 速度上1公里
- 速度上4公里
因此,它是某種常量,我只是想知道什麼是宣佈和訪問它們的最佳做法?
或者可能有什麼方法來聲明預定義的對象?
我正在開發應用程序,幫助人們概述他們的培訓結果。在不同的學科不同的計算。我需要將訓練存儲在與訓練相關的對象中。如何以及在哪裏聲明應包含AR對象的常量?
我必須在代碼中使用這個值來編程設置另一個對象的字段,計算結果取決於它,然後與它進行比較。
比如我有模型紀律和三個記錄與名稱
因此,它是某種常量,我只是想知道什麼是宣佈和訪問它們的最佳做法?
或者可能有什麼方法來聲明預定義的對象?
任何時候你有「預定義」的對象,你應該看看使用enum,但我真的不知道你爲什麼想用AR模型做這件事。 AR模型背後的全部理念是它是一個由數據庫支持的交互式對象,可以通過CRUD操作對其屬性進行操作。
有沒有什麼辦法來定義全局的枚舉枚舉並將其用作對象值?我已經使用枚舉可見性字段,但我在模型模塊中定義它,如enum'visibility:[:public_tr,:unlisted_tr,:private_tr]' – 2014-11-14 18:41:46
在你的constants.rb文件中,但我不相信AR是完全加載的並在那個時間點起作用。好像你實際上不需要AR模型... – mattforni 2014-11-14 21:52:36
是的,我不知道。 AR的原因 - 在關係中使用,存儲有關規則的附加信息,如規則計算方法等。枚舉的原因 - 簡單性,在軌方式,自動生成的檢查,獲取,設置,比較方法 – 2014-11-14 22:59:17
@Зелёный,做到了。 1.搜索和研究 - 之前完成,2.標題 - 似乎沒問題,3.問題 - 改進。還有別的嗎? – 2014-11-14 18:39:18
你的意思是說'不變'?在Rails中,你不能從類實例中創建常量(比如'ActiveRecord'對象)。我建議你閱讀[ActiveRecord Association Basics](http://guides.rubyonrails.org/association_basics.html),如果我理解你的問題,我認爲你的情況是通過簡單的關係實現的。 – 2014-11-14 18:45:15
@Зелёный,閱讀它。我想我應該以另一種方式提問,因爲下面的答案給了我指導。這就像枚舉,不知道爲什麼我決定把它作爲AR模型。所以,可能你知道有什麼方法可以在模塊中定義枚舉並將其用作AR字段值嗎? – 2014-11-14 18:49:31