帮助从一个HTML表单到另一个HTML表单的数据传输/存储

时间:2011-08-23 14:40:23

标签: javascript ruby-on-rails ruby-on-rails-3 forms

在我的应用程序中,我有两种用于创建用户的表单 表格1:我以表格1从用户输入以下详细信息。

  • 姓名
  • 电子邮件地址
  • 性别
  • 出生日期
  • 个人资料图片

在表格2中,我请他填写他的

  • 期望的@username和
  • 密码

问题是我以下列方式关联了我的模型,

User has_one UserProfile  
UserProfile belongs_to User  

&安培;

  

电子邮件地址,用户名和密码是用户模型的属性   其余属性属于UserProfile模型。

但在我的表单中,我使用Form1中的电子邮件地址和Form2中的其他属性。

我应该将表单设为Rails表单还是纯HTML表单? 我该怎么办?

更新: - 我不想在不创建User对象的情况下创建UserProfile对象,因此我需要一些方法将表单1值存储在javascript中,然后在提交表单2时,将它们都传递给Rails控制器方法。

2 个答案:

答案 0 :(得分:1)

我不太了解红宝石,但是需要使这个过程复杂化。有一个表格,在视觉上你可以使用两个字段集分隔字段。然后提交表单,并在后端以任何方式保存它们。

答案 1 :(得分:1)

我认为不需要同时创建UserProfile和User,但是如果你必须创建它, 并且您首先必须填写form1,即UserProfile,然后才填写form2,即User,然后您可以创建以下内容。

在form1上首先创建一个User.new并使用User.save,然后你有了新的User.id,并且假设已经使用:user_id的引用创建了一个新的UserProfile,

(请注意,您的验证过程更加困难,因为现在如果您验证:username是null,因此不是唯一的,也不是什么,您可以使User.new默认并调用数据'tempUser'直到完全创建。 )

然后你有user_id来引用,填写UserProfile,保存它,重定向回用户表单,更新它,验证用户输入的数据,并保存它。

你为什么要像这样滚动?

不会只拥有用户并检索数据吗?

或者在此过程中较少验证将首先让用户创建User对象(用户名,密码优先),然后再创建UserProfile对象(电子邮件等)。

有办法绕过所有这些,它只是更复杂:(