RoR 3 Hartl教程:将注册页面移至主页

时间:2011-05-19 00:42:42

标签: ruby-on-rails registration

我是RoR3的新手,随后是RoR3 Michael Hartl教程。出于兴趣,我想将注册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 %>

不能只是移动到主页 - 代码不会正确引用用户模型来创建新用户,因此页面不会加载。如何实现将此表单移动到站点主页的目标?

更多信息:网站的结构遵循标准的rails设置(app / models / user.rb中的用户模型名为user.rb,app / users_controller.rb中的控制器,视图位于app / views中是页面,布局和用户文件夹的文件夹。当前表单位于app / views / users / new.html.erb)。

1 个答案:

答案 0 :(得分:2)

例如,如果主页使用PagesControllerhome操作,路由为root :to => "pages#home"或类似内容,则需要实例化@user home操作中的变量:

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

在主页上呈现表单时,它可以访问@user变量。