Разработайте форму регистрации на домашней странице - PullRequest
19 голосов
/ 21 февраля 2012

Мне нужна возможность отображать форму sign_up на главной странице моего приложения 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 ]

48 голосов
/ 23 февраля 2012

Вставьте это в свой 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.
Вы готовы идти.

0 голосов
/ 28 февраля 2016

Вот объяснение от Devise Как: отображать пользовательскую форму входа в любом месте вашего приложения

Другой пример с 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 %>

Я разместил его в новом виде

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...