我是一个三周大的 Rails 新手,我有一些想要实现的东西,但不知道如何去做。我正在制作一个应用程序:
我希望用户在新用户查看页面上输入一些注册信息,然后,当他们单击提交时,而不是立即创建用户并将其保存在数据库中,而是希望他们被带到第二个网页在他们创建帐户之前,他们将被要求进行一些最终验证。然后当他们点击“验证”并且验证通过时,帐户最终被创建并保存到数据库中。
这对我来说很难,因为我只知道如何制作基本表单,在哪里输入信息,点击提交,然后你在数据库中有一个新条目。我不知道如何推迟另一个网页的“用户创建”,但是一个朋友提到了一些关于http请求的事情,但我仍然什么都不知道。到目前为止,我将发布一些代码:
我的users_controller
新定义:
def new
@user = User.new
@user.websites.build
end
我的users_controller
创建方法:
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome!"
redirect_to @user
else
render 'new'
end
end
我的users/new.html.erb
注册表单:
<% provide(:title, 'Sign up') %>
<h1>Sign up</h1>
<%= render 'shared/error_messages' %>
<%= form_for(@user) do |f| %>
<%= f.label :email %>
<%= f.text_field :email %><br/>
<%= f.label :password %>
<%= f.password_field :password %><br/>
<%= f.label :password_confirmation, 'Confirm Password' %>
<%= f.password_field :password_confirmation %><br/>
<%= f.fields_for :websites do |builder| %>
<%= builder.label :url, 'Website URL' %>
<%= builder.text_field :url %>
<% end %>
<%= f.submit "Sign up", :id => 'submit' %>
<% end %>
我以前从来没有问过像这样征求意见的问题,所以我希望这是一个合适的地方。任何和所有的帮助表示赞赏。