对于我的新项目,我需要一个像邮件过滤器这样的功能。将有一组具有相关操作的规则。当用户提交请求时,需要通过这些规则进行验证。如果这些规则中的任何一个匹配,则应触发相应的操作(或者,应该使用更多属性更新模型)。就像邮件过滤器一样。
并且,这些规则将是用户特定的并存储为ActiveRecord模型。
现有宝石的任何指针?!
我的ROR版本是2.3.8
答案 0 :(得分:0)
您正在寻找控制器级别的验证。我建议的是在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