0

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

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

现有宝石的任何指针?!

我的 ROR 版本是 2.3.8

4

1 回答 1

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

于 2010-12-07T12:29:46.360 回答