Roles is part of User model, not Staff model. Add your form to app/admin/user.rb
instead, and then you will be able to assign a role to a user. Also, in the user's form, you can assign the staff record. Here is an example form:
# app/admin/user.rb
form do |f|
f.inputs 'Name' do
f.input :name
end
f.inputs 'Add role'
f.input :roles, :as => :select, :collection => Role.global
end
f.inputs 'Staff' do
f.input :staff
end
f.actions
end
You can also add a delegate to staff to be able to read the roles natively in the Staff model.
# app/models/staff.rb
class Staff < ActiveRecord::Base
attr_accessible :name, :user_id
has_one :user
delegate :roles, :to => :user
end