0
目前,我使用api-versions
gem,它很好地創建了API路線,並在請求HEAD中包含版本信息。如何通知api版本的型號?
但是,有時模型需要知道正在使用的api版本。例如驗證。假設用戶名的存在需要在任何版本> = 2的情況下進行驗證,但不是版本< 2.
在控制器層,通過解析出適當的請求HEAD很容易檢索到api版本。但是,將該版本號傳遞給模型的最佳方式是什麼?
目前,我使用api-versions
gem,它很好地創建了API路線,並在請求HEAD中包含版本信息。如何通知api版本的型號?
但是,有時模型需要知道正在使用的api版本。例如驗證。假設用戶名的存在需要在任何版本> = 2的情況下進行驗證,但不是版本< 2.
在控制器層,通過解析出適當的請求HEAD很容易檢索到api版本。但是,將該版本號傳遞給模型的最佳方式是什麼?
如何在模型類驗證從控制器作用有條件
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!
這正是我也想過。很高興有第二個意見。謝謝! – 2013-02-14 17:21:53