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

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

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

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

在表格 2 中,我要求他填写他的

  • 所需的@用户名,以及
  • 密码

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

User has_one UserProfile  
UserProfile belongs_to User  

&

Email Address, username and password are attributes of User model.
The rest of the attributes belong to UserProfile model.

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

我应该将表单制作为 Rails 表单还是纯 HTML 表单?
我该怎么做???

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

最佳答案

我认为没有必要同时创建 UserProfile 和 User,但如果您确实必须创建它, 您首先必须填写 form1(即 UserProfile),然后填写 form2(即 User),然后您才能创建以下内容。

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

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

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

你为什么要那样滚动?

难道不只有 User 并检索数据吗?

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

有很多方法可以绕过所有这些,只是更复杂:(

关于javascript - 帮助将数据从一个 HTML 表单传输/存储到另一个表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7162822/

相关文章:

javascript - Highcharts 仅显示一次图例

ruby-on-rails - 销毁一些记录需要非常非常长的时间

ruby-on-rails - 在 Rails 中设置 create_join_table 迁移选项

jquery - Rails3、jquery mobile 和远程 => 真正的 ajax 调用以 HTML 方式处理

javascript - 如何使用 jQuery 根据这些 HTML 元素的总高度将所有 HTML 元素包装在 DIV 中?

javascript - 使用javascript完成 list 缓存时发出警报

javascript - 如何使用 JavaScript 测试空字符串/null?

mysql - 可以在 Rails 中配置模型以从不同的数据源提取数据吗?

ruby-on-rails-3 - 轨道中的对象负载过早

ruby-on-rails - 盲目直通已被弃用