Ruby on rails 如果创建方法是从特定路由调用的,如何检查其有效性?
如果创建方法是从其他路径调用的,我想在创建方法上验证列的存在性。 例如,如果我有以下两条路线:Ruby on rails 如果创建方法是从特定路由调用的,如何检查其有效性?,ruby-on-rails,validation,rails-activerecord,rails-routing,Ruby On Rails,Validation,Rails Activerecord,Rails Routing,如果创建方法是从其他路径调用的,我想在创建方法上验证列的存在性。 例如,如果我有以下两条路线: post 'create_item', to: 'item#create' post 'create_verified_item', to: 'item#create_verified' 我需要在项目模型中定义如下内容: validates :verified_number, presence: true, if: Item.action_name == "create_verified" 任何人
post 'create_item', to: 'item#create'
post 'create_verified_item', to: 'item#create_verified'
我需要在项目模型中定义如下内容:
validates :verified_number, presence: true, if: Item.action_name == "create_verified"
任何人都可以提供帮助?理想情况下,您可以在项目中添加一个属性来检查,例如:
# model
class Item
attr_accessible :action_name
validates :verified_number, presence: true, if: :create_verified?
def create_verified?
action_name == 'create_verified'
end
end
# controller
item = Item.new(item_params)
item.action_name = params[:action]
item.save