gpt4 book ai didi

ruby-on-rails - 创建嵌套模型表单

转载 作者:数据小太阳 更新时间:2023-10-29 07:31:09 25 4
gpt4 key购买 nike

我正在尝试构建一个多模型表单 - 但其中一个问题是我需要链接表单中的模型。

例如,假设我的表单具有以下模型:用户、配置文件

创建新用户时,我想同时创建一个新的个人资料,然后将两者联系起来。问题是,如果两者都尚未创建,则它们还没有 ID - 那么我如何分配链接值?

谢谢!

-埃利奥特

我注意到,有些人喜欢这个 - 要查看更多关于链接两个模型的信息,请查看我的第二个问题,它有答案:Linking two models in a multi-model form

最佳答案

实现预期结果的一种方法是,您可以制作一个利用 Rails 中的嵌套属性支持的表单:

<%= form_for(@user) do |f| %>
<%= f.label :my_user_attribute %>
<%= f.text_field :my_user_attribute %>

<%= f.fields_for :profile do |fp| %>
<p>
<%= fp.label :my_profile_attribute %>
<%= fp.text_field :my_profile_attribute %>
</p>
<% end %>

<%= f.submit %>
<% end %>

您还需要将以下内容添加到您的用户类中:

accepts_nested_attributes_for :profile

您可以阅读有关 Active Record 嵌套属性的更多信息 here .您可以阅读有关 ActionView 表单助手的更多信息 here (在页面下方搜索“嵌套属性示例”)。

如果你使用这种方法,同时对两个模型进行良好的验证,你就不必担心跟踪数据库 ID,因为它们将由 ActiveRecord 同时创建(但直到两个模型对象都有效).

关于ruby-on-rails - 创建嵌套模型表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4579663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com