我使用了声明性——授权书供我用,在创建新用户方面存在问题。
我的用户模式代码:
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"}
谁能告诉我什么错误? 为什么验证胜过?