如果从特定路由调用,如何检查创建方法的验证?
How to check validation on creation method if its called from specific route?
如果创建方法是从其他路径调用的,我想验证创建方法中的列是否存在。
例如,如果我有以下两条路线:
post 'create_item', to: 'item#create'
post 'create_verified_item', to: 'item#create_verified'
我需要在 Item 模型中定义如下内容:
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
如果创建方法是从其他路径调用的,我想验证创建方法中的列是否存在。 例如,如果我有以下两条路线:
post 'create_item', to: 'item#create'
post 'create_verified_item', to: 'item#create_verified'
我需要在 Item 模型中定义如下内容:
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