对于我的新项目,我需要一个像邮件过滤器这样的功能。将有一组具有相关操作的规则。当用户提交请求时,需要通过这些规则进行验证。如果这些规则中的任何一个匹配,则应触发相应的操作(或者,应使用更多属性更新模型)。就像邮件过滤器一样。
而且,这些规则将是用户特定的并存储为 ActiveRecord 模型。
现有宝石的任何指针?!
我的 ROR 版本是 2.3.8
对于我的新项目,我需要一个像邮件过滤器这样的功能。将有一组具有相关操作的规则。当用户提交请求时,需要通过这些规则进行验证。如果这些规则中的任何一个匹配,则应触发相应的操作(或者,应使用更多属性更新模型)。就像邮件过滤器一样。
而且,这些规则将是用户特定的并存储为 ActiveRecord 模型。
现有宝石的任何指针?!
我的 ROR 版本是 2.3.8
您正在寻找控制器级别的验证。我建议在您的 ApplicationController 中添加过滤器。
例如 :
class ApplicationController < ActionController::Base
before_filter :is_logged_in
def is_logged_in
# ... do your stuff !
end
end
这样做的好处是:
controller.controller_name
和controller.action_name
另外,请记住,您应该在模型级别实施验证。ActiveRecord 还提供了一组有用的类似过滤器:http: //guides.rubyonrails.org/active_record_validations_callbacks.html#available-callbacks