Судя по тому, пытаетесь ли вы создать пользовательский интерфейс для добавления ролей пользователям. Я собираюсь предположить, что у вас уже есть UsersController, поэтому я бы предложил добавить ролевую модель и RolesController. В вашем rout.rb вы бы сделали что-то вроде:
map.resources :users do |u|
u.resources :roles
end
Это позволит вам иметь маршрут как:
/users/3/roles
В вашем RolesController вы бы сделали что-то вроде:
def create
@user = User.find_by_username(params[:user_id])
@role = @user.roles.build(params[:role])
if @role.valid?
@role.save!
redirect_to @user
else
render :action => 'new'
end
end
Это будет принимать данные параметров роли из формы, отображаемой в новом действии, и создавать новую модель для этого пользователя. Надеюсь, это хорошая отправная точка для вас.