在嵌套模型的Rails 6中,可以通过以下方式从子模型中获取父对象:
class Child < ApplicationRecord
belongs_to :parent
end
class ChildrenController < ApplicationController
def create
@parent = Parent.find(params[:parent_id])
@child = @parent.children.build(child_params)
if @child.save
# 保存成功的逻辑
else
# 保存失败的逻辑
end
end
private
def child_params
params.require(:child).permit(:name)
end
end
<%= form_with(model: [@parent, @child]) do |form| %>
<%= form.hidden_field :parent_id %>
<!-- 其他表单字段 -->
<%= form.submit %>
<% end %>
这样,当你提交表单时,子模型的控制器就能够通过params[:parent_id]获取到父对象的ID,并进行相应的操作。
这是在嵌套模型中从子模型中获取父对象的基本步骤。根据具体的业务需求,你可能需要进一步处理和验证数据。关于Rails 6的嵌套模型和关联关系的更多信息,你可以参考Rails官方文档:Active Record Associations。
领取专属 10元无门槛券
手把手带您无忧上云