2015-10-18 53 views
0

我有一个session controller,它管理登录/注销操作。这些与任何模型都没有关联。我想用此会话控制器的validates帮助器方法,以便我可以使用:maximum, :minimum等条件的username and password。但是如果没有模型,我该如何使用这些验证方法。另外,如果我使用这些助手,可以很容易地与我的simple_form登录页面集成为error message,与我为user注册页面所做的类似。使用无模型会话控制器验证辅助方法

如果上面的帮助器方法不可能被使用,我有什么替代方法可以轻松地与我的simple_form接口?

回答

1

可以在不创建模型的情况下使用验证,即从ActiveRecord::Base继承的类。你可以有一个包含ActiveModel::Validations的类并使用它的方法。例如:

class Session 
    include ActiveModel::Validations 

    attr_accessor :username, :password 

    def initialize(user, pass) 
    @username = user 
    @password = pass 
    end 

    validates_length_of :username, minimum: 5 
    validates_length_of :password, minimum: 7 
end 

而且你使用这样的:

session = Session.new("name", "secret") 
session.valid? ## => false 
+0

@InQusitive有工作了吗? – Brozorec

+0

是的,它工作,但simple_form没有显示错误。 – InQusitive