2012-02-21 24 views

Trả lời

43

Dán này trong home#index xem mã của bạn

<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" %> 

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 

trong tập tin Application Helper của bạn.
Bạn tốt để đi.

+0

Đối với dòng cuối cùng tôi đã phải sử dụng '<% = render" devise/shared/links "%>', nếu không thì tốt! –

+0

Đồng thời thêm 'def resource_class User end' vào' ApplicationHelper' –

+0

Tôi khuyên bạn nên đặt id theo cách thủ công của biểu mẫu và trường thành cú pháp chính xác khi bạn có biểu mẫu giống nhau trên cùng một trang (ví dụ: khi người dùng đăng nhập trang). –

-1

Dưới đây là lời giải thích từ lập mưu How To: Display a custom sign_in form anywhere in your app

Một ví dụ khác với form_for và gửi bài đến 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 %> 

tôi đặt nó trong quan điểm mới của tôi

Các vấn đề liên quan