在Rails中,使用has_many关联的模型之间可以通过嵌套表单来添加额外的字段。嵌套表单允许我们在一个表单中同时创建或编辑多个关联模型的记录。
具体实现嵌套表单的步骤如下:
class Post < ApplicationRecord
has_many :comments
accepts_nested_attributes_for :comments
end
<%= form_for @post do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.fields_for :comments do |comment_fields| %>
<%= comment_fields.label :content %>
<%= comment_fields.text_area :content %>
<% end %>
<%= f.submit %>
<% end %>
class PostsController < ApplicationController
def create
@post = Post.new(post_params)
if @post.save
# 保存成功的逻辑
else
# 保存失败的逻辑
end
end
private
def post_params
params.require(:post).permit(:title, comments_attributes: [:content])
end
end
在这个例子中,我们使用comments_attributes来允许嵌套的Comment属性。
嵌套表单在以下场景中非常有用:
腾讯云相关产品和产品介绍链接地址:
以上是关于用于has_many的Rails嵌套表单的完善且全面的答案。
领取专属 10元无门槛券
手把手带您无忧上云