邮件过滤器类似于Ruby on Rails中的功能

时间:2010-12-07 11:56:38

标签: ruby-on-rails filter business-rules

对于我的新项目,我需要一个像邮件过滤器这样的功能。将有一组具有相关操作的规则。当用户提交请求时,需要通过这些规则进行验证。如果这些规则中的任何一个匹配,则应触发相应的操作(或者,应该使用更多属性更新模型)。就像邮件过滤器一样。

并且,这些规则将是用户特定的并存储为ActiveRecord模型。

现有宝石的任何指针?!

我的ROR版本是2.3.8

1 个答案:

答案 0 :(得分:0)

您正在寻找控制器级别的验证。我建议的是在ApplicationController中添加过滤器。

例如:

class ApplicationController < ActionController::Base
    before_filter :is_logged_in
    def is_logged_in
        # ... do your stuff !
    end
end

这有什么好处:

  • 你可以用ruby作为一种OO语言,创建你自己的类的层次结构,从而使你的代码易于理解,干掉一切。
  • 在过滤之前,过滤之后...在这里查看更多信息http://guides.rubyonrails.org/action_controller_overview.html
  • 访问当前控制器和操作:controller.controller_namecontroller.action_name

另外,请记住,您应该在模型级别实施验证。 ActiveRecord还提供了一组有用的类似过滤器:http://guides.rubyonrails.org/active_record_validations_callbacks.html#available-callbacks