2013-02-13 35 views
0

目前,我使用api-versions gem,它很好地創建了API路線,並在請求HEAD中包含版本信息。如何通知api版本的型號?

但是,有時模型需要知道正在使用的api版本。例如驗證。假設用戶名的存在需要在任何版本> = 2的情況下進行驗證,但不是版本< 2.

在控制器層,通過解析出適當的請求HEAD很容易檢索到api版本。但是,將該版本號傳遞給模型的最佳方式是什麼?

回答

0

如何在模型類驗證從控制器作用有條件

class SomeModel < ActiveRecord::Base 
    attr_accessor :api_version 
    validates_presence_of :username, :if => :api_version > 2 
    ... 

然後定義psudo屬性,設置模型上的API_VERSION保存前等

@someModel = SomeModel.new(params[:some_model]) 
@someModel.api_version = <<extracted from HEAD>> 
@someModel.save! 
+0

這正是我也想過。很高興有第二個意見。謝謝! – 2013-02-14 17:21:53