目前,我的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现在老实说是空的,因为我一直在尝试这么多不同的东西,我不知道该怎么把它们放在它们身上。
非常感谢所有人的帮助,非常感谢任何方向。
答案 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
您也可以尝试序列化数据: