使用模型it belongs_to的属性在has_many关联中的模型上设置属性的最全面的方法是使用Active Record的嵌套属性赋值。
在这种情况下,我们假设有两个模型:Parent和Child,其中Child属于Parent。我们想要在Child模型上设置Parent的属性。
以下是设置属性的最全面方法:
class Parent < ApplicationRecord
has_many :children
end
class Child < ApplicationRecord
belongs_to :parent
end
class Parent < ApplicationRecord
has_many :children
accepts_nested_attributes_for :children
end
class ParentsController < ApplicationController
def parent_params
params.require(:parent).permit(:name, children_attributes: [:id, :name, :_destroy])
end
end
<%= form_for @parent do |f| %>
<%= f.text_field :name %>
<%= f.fields_for :children do |child_fields| %>
<%= child_fields.text_field :name %>
<% end %>
<%= f.submit %>
<% end %>
以上步骤允许你在创建或更新Parent模型的同时,设置Child模型的属性。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云