gpt4 book ai didi

ruby-on-rails - 在单个操作中创建新 ActiveRecord 模型对象层次结构的首选方法

转载 作者:行者123 更新时间:2023-12-04 06:40:41 27 4
gpt4 key购买 nike

是否有一种首选方法可以在单个操作中创建具有关联的新 ActiveRecord 模型对象的层次结构(例如,创建具有多个子项的模型)?这只是应该在单独的位中完成的事情吗?

以具有_许多评论的博客文章模型为例。我添加了对博客文章作者的支持,在博客文章的同一表单中添加了初始评论。现在,我所做的是在博客文章中调用 after_create 来检查是否有评论,如果有评论,博客文章会创建一个评论。

我正在考虑使用未保存的博客文章构建 (.build) 评论,但显然这不起作用,因为博客文章实际上还没有 id,因为它尚未保存。我有兴趣了解其他人采取的方法。

最佳答案

我更喜欢嵌套模型表单。

楷模:

class Comment < ActiveRecord::Base
belongs_to :post
end

class Post < ActiveRecord::Base
has_many :comments, :dependent => :destroy
accepts_nested_attributes_for :comments
end

Controller :
@post = post.new
@post.comments.build

看法:
<% form_for @post do |f| %>  
<%= f.error_messages %>
<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
<% f.fields_for :comments do |builder| %>
<p>
<%= builder.label :content, "Comment" %><br />
<%= builder.text_area :content, :rows => 5 %>
</p>
<% end %>
<p><%= f.submit "Submit" %></p>
<% end %>

关于ruby-on-rails - 在单个操作中创建新 ActiveRecord 模型对象层次结构的首选方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4290725/

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