使用无模型会话控制器验证辅助方法

时间:2015-10-18 07:38:06

标签: ruby-on-rails simple-form

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

如果无法使用上面的辅助方法,我可以选择哪种方法与simple_form轻松连接?

1 个答案:

答案 0 :(得分: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