Разработайте форму регистрации на домашней странице
Мне нужна возможность отображать форму регистрации на главной странице моего приложения home#index
а также страницу по умолчанию, которую создает Devise.
У Devise есть инструкция, чтобы сделать это для страницы sign_in, но как я могу сделать это с помощью sign_up? https://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app
Спасибо!
2 ответа
Решение
Вставьте это в свой 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" %>
а также
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
в вашем Application Helper
файл.
Тебе хорошо идти.
Вот объяснение от Devise How To: Отображение пользовательской формы sign_in в любом месте вашего приложения
Другой пример с form_for и публикацией в 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 %>
Я поместил это в мой новый взгляд