Rails中的has_many关联用于建立一对多的关系,即一个模型对象拥有多个关联对象。实现嵌套关联可以通过使用accepts_nested_attributes_for方法和fields_for表单辅助方法来实现。
具体步骤如下:
class User < ApplicationRecord
has_many :posts
accepts_nested_attributes_for :posts
end
class Post < ApplicationRecord
belongs_to :user
end
<%= form_for @user do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.fields_for :posts do |p| %>
<%= p.label :title %>
<%= p.text_field :title %>
<% end %>
<%= f.submit %>
<% end %>
def user_params
params.require(:user).permit(:name, posts_attributes: [:title])
end
这样,当提交用户表单时,会同时创建关联的子模型对象。
关于Rails has_many的更多信息,可以参考官方文档:Active Record Associations - has_many
关于Rails的表单辅助方法fields_for的更多信息,可以参考官方文档:Form Helpers - Nested Forms
腾讯云相关产品和产品介绍链接地址请参考腾讯云官方网站。
领取专属 10元无门槛券
手把手带您无忧上云