在我的应用程序中,我有两个用于创建用户的表单。表单1:我在表单1中输入用户的以下详细信息。
- 全名 <
- 电子邮件地址/gh>性别
- 出生日期<
- 剖面图像/gh>
AND在表格2中,我让他填写他的
- 期望的@username,和
问题是我以以下方式关联了我的模型,
User has_one UserProfile
UserProfile belongs_to User
,
Email地址、用户名和密码为User模型属性。
其余的属性属于UserProfile模型。
但是在我的表单中,我在Form1中使用电子邮件地址,在Form2中使用其他属性。
我应该使表单作为Rails表单或纯HTML表单?
我该怎么做??
更新:- 我不想在不创建用户对象的情况下创建UserProfile对象,所以我需要一些方法来存储javascript中的表单1值,然后当表单2提交时,然后将它们都传递给Rails控制器方法。
我不认为需要同时创建UserProfile和User,但如果你必须创建它,你必须先填写表单1,这是UserProfile,然后填写表单2,这是User,然后你可以创建以下内容:
在form1上首先创建一个User。new和use User。保存,然后就有了新的User。id,假设已经创建了一个新的UserProfile,其中:引用user_id,
(请注意,您的验证过程更加困难,因为现在如果您验证:username,它是空的,因此不是唯一的,或者其他什么,您可以使用User。新的默认值,并调用数据'tempUser',直到它完全创建。
那么您就有了要引用的user_id,填写UserProfile,保存它,重定向到User表单,更新它,验证用户输入的数据,并保存它。
你为什么要那样滚呢?
不是只有User和检索数据吗?
或者过程中较少的验证将首先让用户创建user对象(用户名,密码优先),然后才创建UserProfile对象(电子邮件等)。
有很多方法可以绕过所有这些,只是更复杂:
我对ruby了解不多,但有什么必要把这个过程复杂化呢?有一个表单,在视觉上你可以使用两个字段集来分离字段。然后提交表单,并在后端以任何您想要的方式保存它们。