Rails复杂表单 #

一、嵌套表单 #

1.1 模型配置 #

ruby
class Article < ApplicationRecord
  has_many :comments
  accepts_nested_attributes_for :comments, allow_destroy: true
end

1.2 表单实现 #

erb
<%= form_with model: @article do |form| %>
  <%= form.text_field :title %>
  
  <%= form.fields_for :comments do |comment_form| %>
    <%= comment_form.text_field :author %>
    <%= comment_form.text_area :body %>
  <% end %>
  
  <%= form.submit %>
<% end %>

二、动态添加字段 #

2.1 使用cocoon #

erb
<%= link_to_add_association '添加评论', form, :comments %>

三、总结 #

3.1 核心要点 #

要点 说明
accepts_nested_attributes_for 嵌套属性
fields_for 嵌套表单
cocoon 动态添加

3.2 下一步 #

现在你已经掌握了复杂表单,接下来让我们学习 认证概述,深入了解Rails的用户认证!

最后更新:2026-03-28