2012-02-21 12 views

Respuesta

43

Pega este código en su vista home#index

<h2>Sign up</h2> 

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> 
    <%= devise_error_messages! %> 

    <div><%= f.label :email %><br /> 
    <%= f.email_field :email %></div> 

    <div><%= f.label :password %><br /> 
    <%= f.password_field :password %></div> 

    <div><%= f.label :password_confirmation %><br /> 
    <%= f.password_field :password_confirmation %></div> 

    <div><%= f.submit "Sign up" %></div> 
<% end %> 

<%= render "links" %> 

y

def resource_name 
    :user 
    end 

    def resource_class 
    User 
    end 

    def resource 
    @resource ||= User.new 
    end 

    def devise_mapping 
    @devise_mapping ||= Devise.mappings[:user] 
    end 

en su archivo Application Helper.
Estás listo para ir.

+0

Para la última línea I tuvo que usar '<% = render" idear/compartido/enlaces "%>', de lo contrario todo bien! –

+0

Agregue 'def resource_class User end' al' ApplicationHelper' –

+0

Recomiendo configurar manualmente los ids del formulario y los campos para que sean correctos sintácticamente cuando tiene formularios idénticos en la misma página (es decir, cuando el usuario está en el inicio de sesión página). –

-1

Aquí está la explicación del Legado How To: Display a custom sign_in form anywhere in your app

Otro ejemplo con form_for y anuncio a user_session_path:

<%= form_for(:user, :url => session_path(:user)) do |f| %> 
    <%= f.text_field :email %> 
    <%= f.password_field :password %> 
    <%= f.check_box :remember_me %> 
    <%= f.label :remember_me %> 
    <%= f.submit 'Sign in' %> 
    <%= link_to "Forgot your password?", new_password_path(:user) %> 
<% end %> 

lo coloqué en mi nueva visión

Cuestiones relacionadas