Я использую Devise для аутентификации.
Я использую его для регистрации и редактирования своей учетной записи. Мне нужна возможность добавлять «суб» пользователей в каждую учетную запись. Я могу заставить его работать, если я удалю: registerable из пользовательской модели, но при этом он нарушает edit_user_registration_path.
Что мне нужно сделать, это:
Разрешить новым пользователям регистрироваться.
Разрешить существующим клиентам добавлять «Sub Users» в свою учетную запись.
Я думаю, что мне нужно использовать самореферентные отношения для создания владельца аккаунта.
Вот код, который у меня есть на данный момент
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :email, :password, :password_confirmation, :remember_me, :name, :location, :country, :job_title, :company
end
(Если я удалю: регистрируемый, я могу создавать новых пользователей с помощью User CRUD)
class UsersController < ApplicationController
def new
@user = User.new
respond_to do |format|
format.html
end
end
def create
@user = User.new(params[:user])
if @user.save
respond_to do |format|
format.html { redirect_to :action => :index }
end
else
respond_to do |format|
format.html { render :action => :new, :status => :unprocessable_entity }
end
end
end
end
Пользователи / новый
<h2>Register User</h2>
<%= form_for(@user) do |f| %>
<%= f.error_messages %>
<p><%= f.label :email %><br />
<%= f.text_field :email %></p>
<p><%= f.label :password %></p>
<p><%= f.password_field :password %></p>
<p><%= f.label :password_confirmation %></p>
<p><%= f.password_field :password_confirmation %></p>
<p><%= f.submit "Register" %></p>
<% end %>