我是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)。
答案 0 :(得分:2)
例如,如果主页使用PagesController
和home
操作,路由为root :to => "pages#home"
或类似内容,则需要实例化@user
home
操作中的变量:
class PagesController < ApplicationController
def home
@user = User.new
end
.
.
.
end
在主页上呈现表单时,它可以访问@user
变量。