创建一个两步注册就像在Twitter上一样[Rails]

时间:2013-08-24 00:59:40

标签: ruby-on-rails forms session cookies twitter

呃,所以我已经在很多天里一直在与这个斗争。因此,我的目标是创建一个注册表单,就像twitter一样(填写时在每个页面上都有一个通用表单,重定向到/注册页面,其中包含完整的表单,保留提交的值。)

目前,我的public_controller上有通用的简短格式,而且/ signup中的完整格式是users_controller的一部分。

我在填写表单后尝试渲染,但我不认为这是答案,因为表单在不同的控制器上。我也尝试过使用会话和cookie,但没有运气。

一些相关的代码,剥离了多余的值:

<%= form_for(:user, :url => { :controller => 'users', :action => 'create' }) do |f| %>
<input name="user[name] />
<input name="user[email] />
<input name="user[password]" />

所以我的通用注册表单中有三个值:name,:email和:password。最终表单还有一个值:username。

我的def new和def创建的users_controller现在老实说是空的,因为我一直在尝试这么多不同的东西,我不知道该怎么把它们放在它们身上。

非常感谢所有人的帮助,非常感谢任何方向。

1 个答案:

答案 0 :(得分:0)

您可以将vars从第一种形式设置为第二种形式:

 def controller_first_method
   @name     = params['name']
   @email    = params['email']
   @password = params['password'] <-- hash this before!!
 end

以第二种形式:

= f.hidden_field :name, :value => @name

您也可以尝试序列化数据:

https://github.com/mrbrdo/serialize-rails