2014-11-14 44 views
0

我正在開發應用程序,幫助人們概述他們的培訓結果。在不同的學科不同的計算。我需要將訓練存儲在與訓練相關的對象中。如何以及在哪裏聲明應包含AR對象的常量?

我必須在代碼中使用這個值來編程設置另一個對象的字段,計算結果取決於它,然後與它進行比較。

比如我有模型紀律和三個記錄與名稱

  • 速度上400米
  • 速度上1公里
  • 速度上4公里

因此,它是某種常量,我只是想知道什麼是宣佈和訪問它們的最佳做法?

或者可能有什麼方法來聲明預定義的對象?

+0

@Зелёный,做到了。 1.搜索和研究 - 之前完成,2.標題 - 似乎沒問題,3.問題 - 改進。還有別的嗎? – 2014-11-14 18:39:18

+0

你的意思是說'不變'?在Rails中,你不能從類實例中創建常量(比如'ActiveRecord'對象)。我建議你閱讀[ActiveRecord Association Basics](http://guides.rubyonrails.org/association_basics.html),如果我理解你的問題,我認爲你的情況是通過簡單的關係實現的。 – 2014-11-14 18:45:15

+0

@Зелёный,閱讀它。我想我應該以另一種方式提問,因爲下面的答案給了我指導。這就像枚舉,不知道爲什麼我決定把它作爲AR模型。所以,可能你知道有什麼方法可以在模塊中定義枚舉並將其用作AR字段值嗎? – 2014-11-14 18:49:31

回答

0

任何時候你有「預定義」的對象,你應該看看使用enum,但我真的不知道你爲什麼想用AR模型做這件事。 AR模型背後的全部理念是它是一個由數據庫支持的交互式對象,可以通過CRUD操作對其屬性進行操作。

+0

有沒有什麼辦法來定義全局的枚舉枚舉並將其用作對象值?我已經使用枚舉可見性字段,但我在模型模塊中定義它,如enum'visibility:[:public_tr,:unlisted_tr,:private_tr]' – 2014-11-14 18:41:46

+0

在你的constants.rb文件中,但我不相信AR是完全加載的並在那個時間點起作用。好像你實際上不需要AR模型... – mattforni 2014-11-14 21:52:36

+0

是的,我不知道。 AR的原因 - 在關係中使用,存儲有關規則的附加信息,如規則計算方法等。枚舉的原因 - 簡單性,在軌方式,自動生成的檢查,獲取,設置,比較方法 – 2014-11-14 22:59:17

相關問題