Я использовал декларативное_авторизацию для моего приложения и возникла проблема с созданием нового пользователя.
код модели моего пользователя:
class User < ActiveRecord::Base
ROLE_TYPES = ["admin", "user", "guest"]
validates_inclusion_of :roles, :in => ROLE_TYPES
def role_symbols
@role_symbols ||= (roles || []).map{|r| r.to_sym}
end
код моего просмотра:
<% form_for(@user) do |f| %>
...
<p>
<%= f.label :roles %><br />
<%= f.select :roles, User::ROLE_TYPES, :prompt => "Select a role" %>
</p>
<%= f.submit 'Add User' %>
<% end %>
каждый раз, когда я пытался создать нового пользователя и выбрать роль в раскрывающемся списке, просмотрите жалобу:
Roles is not included in the list
из выходных данных скрипта / сервера я могу видеть, что роли были фактически установлены:
"user"=>{"name"=>"kc", "password_confirmation"=>"kc", "roles"=>"guest", "password"=>"kc", "email"=>"kc@one.com"}
Может кто-нибудь сказать мне, что не так? почему валидация не пройдет?