首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在嵌套模型rails 6中从子模型中获取父对象

在嵌套模型的Rails 6中,可以通过以下方式从子模型中获取父对象:

  1. 首先,确保你的模型之间已经建立了正确的关联关系。例如,如果你有一个父模型叫做Parent,一个子模型叫做Child,你需要在Child模型中定义一个belongs_to关联到Parent模型。
代码语言:txt
复制
class Child < ApplicationRecord
  belongs_to :parent
end
  1. 在控制器中,你可以通过params[:parent_id]获取父对象的ID。假设你的路由已经正确设置,你可以在子模型的控制器中的create或update等动作中获取父对象。
代码语言:txt
复制
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
  1. 在视图中,你可以使用hidden_field方法将父对象的ID传递给子模型的表单。
代码语言:txt
复制
<%= 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

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券