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