如果传递给它们的值满足某些要求,我有一些返回true或false的方法。
这些验证将从几个不同的控制器调用,也可能是不同的模型。
我想这样做而不将它们插入对象并在对象上运行验证。这可能吗?
我是否将所有这些“验证方法”分组到一个类中?如果是这样,该课程在哪里“
答案 0 :(得分:1)
您可以使用帮助器。这将在控制器,模型和视图页面中提供。
示例:
在“查看页面”中调用
SampleHelper.just_checker({user_object})
如果想在Controller中使用,请将其包含在内。
include SampleHelper
<强>助手/ sample_helper.rb 强>
module SampleHelper
class << self
def just_checker(user)
check_admin(user)
end
end
def check_admin(user)
redirect_to root_url unless user.admin
end
# lets use it in controller with before_action
def check_admin_with_current_user
redirect_to root_url unless current_user.admin
end
end
<强> samples_controller.rb 强>
class SamplesController < ApplicationController
include SampleHelper
before_action :check_admin_with_current_user, only: :destroy
def destroy
#...
end
end