RoR 3 Hartl Tutorial: перемещение страницы регистрации на домашнюю страницу - PullRequest
0 голосов
/ 19 мая 2011

Я новичок в RoR3, следую вместе с RoR3 Michael Hartl Tutorial.Из интереса я хочу переместить форму регистрации html на домашнюю страницу, а не на страницу регистрации.Код для формы:

<%= form_for(@user) do |f| %>
  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :email %><br />
    <%= f.text_field :email %>
  </div>

*** more fields ***

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

Не может быть просто перемещен на домашнюю страницу - код не будет ссылаться на модель пользователя должным образом, чтобы создать нового пользователя, и поэтому страница ненагрузки.Как можно выполнить задачу по перемещению этой формы на домашнюю страницу сайта?

Дополнительная информация: структура сайта соответствует стандартной конфигурации рельсов (пользовательская модель с именем user.rb в приложении/models/user.rb, контроллер в app / users_controller.rb, представления находятся в app / views, где есть папки для страниц, макетов и пользовательских папок. Текущая форма находится в app / views / users / new.html.erb).

1 Ответ

2 голосов
/ 19 мая 2011

Если на домашней странице, например, используется действие PagesController и home, а маршрут - root :to => "pages#home" или что-то подобное, вам нужно создать экземпляр переменной @user в действии home:

class PagesController < ApplicationController
  def home
    @user = User.new
  end
  .
  .
  .
end

Когда форма отображается на домашней странице, она получает доступ к переменной @user.

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