Я создаю информационную систему для моего друга, где (уже) зарегистрированные пользователи могут регистрировать других пользователей для использования в системе. Уже зарегистрированный пользователь должен также действовать как «родитель» вновь зарегистрированного пользователя (который является дочерним). На индексной странице зарегистрированный пользователь может видеть информацию о зарегистрированных пользователях. Я уже написал код. Однако, когда зарегистрированный пользователь хочет зарегистрировать другого пользователя, я получаю следующее сообщение от Devise: «Вы уже вошли в систему». Кроме того, parent_id в настоящее время не сохраняется у зарегистрированного пользователя.Как разрешить зарегистрированным пользователям регистрировать других пользователей с помощью Devise?
Мои вопросы:
- Как я могу изменить мои RegistrationController # метод создания так что parent_id хранится во вновь созданном пользователем?
- Как я могу изменить Devise так, чтобы loggin в пользователях мог регистрировать новых пользователей?
Я использую Devise для регистрации/подтверждения и т. Д. Драгоценный камень Ancestry Я использую для отношений родитель-ребенок.
Я уже создал свой собственный RegistrationsController: класс Завещание :: :: RegistrationsController регистраций < Разрабатывают :: RegistrationsController
def new
super
end
def create
super
end
def update
super
end
def index
@user = current_user
end
end
# new.html.erb зарегистрирования файл:
<% title "Owner registreren" %>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<%= f.hidden_field :parent_id %>
<div><%= f.label :email, "Email adres" %><br />
<%= f.email_field :email %></div>
<div><%= f.label :password, "Wachtwoord" %><br />
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation, "Wachtwoord (bevestiging)" %><br />
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Registreer" %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>
# зарегистрирования index.html.erb file:
<% title "Geregistreerde owners" %>
<% if @user.blank? || [email protected]_children? %>
<p>U heeft geen owners geregistreerd</p>
<% else %>
<table>
<tr>
<th>Email adres</th>
</tr>
<% for user in @user.children %>
<tr>
<td><%= child.email %></td>
<td><%= link_to "Weergeven", child %></td>
<td><%= link_to "Bewerken", edit_user_registration_path(user) %></td>
<td><%= link_to "Verwijderen", product, :confirm => 'Weet u het zeker?', :method => :delete %></td>
</tr>
<% end %>
</table>
<% end %>
<p><%= link_to "Nieuwe owner registreren", new_user_registration_path %></p>
@rolfmao, спасибо! Вы также знаете, как позволить Devise разрешить зарегистрированным пользователям регистрировать новых пользователей? – Nazeem
Я бы создал полностью отдельный контроллер, чтобы сделать это. – roflmao