将text_field限制为仅三个值

Das*_*rol 1 ruby-on-rails

我有一个简单的应用程序,它使用text_field标记来输入:

 <div><%= f.label :user %><br />
  <%= f.text_field :user %></div>
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过使用选择字段来限制输入:

<div><%= f.label :user %><br />
<%= f.select :user, [ ['user1'], ['user2'], ['user3'] ] %></div>
Run Code Online (Sandbox Code Playgroud)

我想知道如何将上述选择字段与上面的简单text_field应用相同的限制.(即user1,user2,user3仍然是唯一允许的输入,但页面上的用户将不会通过select字段看到user1,user2,user3).

编辑*我只是在寻找一个简单的验证方案

car*_*nts 5

您可以使用inclusion验证:

class YourModel < ActiveRecord::Base
  validates :user, inclusion: { in: ['user1', 'user2', 'user3'],
    message: "%{value} is not a valid user" }
end
Run Code Online (Sandbox Code Playgroud)