ruby-on-rails - sign_in - tutorial gem devise
Rails 3-Devise Gem-Cómo administrar usuarios a través de la interfaz CRUD (2)
La gema de Devise se usa para autenticación. Necesito tener un índice de usuario y mostrar vista. Encontré esto como en la wiki de los inventos, como quiera que se juegue, no puede hacer que funcione.
Diseñar - Cómo: Administrar usuarios a través de una interfaz CRUD
Método 1: Recuerde eliminar el módulo: registrable del modelo Devise (en mi caso fue el modelo de usuario) Asegúrese de poner su map.resources: usuarios debajo de la ruta map.devise_for: users (devise_for: usuarios y recursos: usuarios para Rails 3).
Método 2: devise_for: users,: path_prefix => ''d'' resources: users para aislar la lógica del dispositivo de su usuario crud controlle
Mi pregunta: 1. si elimina el registro en el modelo, ¿cómo funciona el trabajo para el usuario? 2. Si lo hizo, ¿puede proporcionar una muestra?
Gracias por adelantado
Al colocar los archivos apropiados new.html.erb, edit.html.erb, _form.html.erb etc. en la carpeta Vistas del usuario, agregar / editar / eliminar Usuarios no debería funcionar de manera diferente a cualquier otro CRUD, ya que el Usuario de Devise es otro modelo como cualquiera. No publicaré los erbs nuevos o de edición (lo suficientemente simple, y un andamio puede mostrarte el resto), pero un ejemplo de mi usuario _form.html.erb ...
<%= form_for(@user) do |f| %>
<%= render :partial => ''shared/errors'', :locals => { :content => @user } %>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %> <i>(leave blank if you don''t want to change it)</i><br />
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
</div>
<div class="field">
<%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
En el mío, creo que me fui: registrable y aún puedo administrar y actualizar usuarios a través de CRUD. Si lo excluyes, los usuarios no pueden registrarse, pero puedes agregar y editar usuarios tú mismo (protegería el controlador de los usuarios con load_and_authorize_resource para mantener a los usuarios normales fuera, por supuesto).
Lo siguiente funcionó para mí.
users_controller.rb
class UsersController < ApplicationController
...
def create
@user = User.new(params[:user])
if params[:user][:password].blank?
params[:user].delete(:password)
params[:user].delete(:password_confirmation)
end
respond_to do |format|
if @user.save
format.html { redirect_to users_path, notice: ''User was successfully created.'' }
else
format.html { render action: "new" }
end
end
end
...
end
routes.rb
...
devise_for :users, :path_prefix => ''d''
resources :users
...
Espero que esto pueda ayudarte.
Saludos, Giacomo