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