3 深度嵌套形式

发布于 2025-01-08 16:44:29 字数 454 浏览 0 评论 0原文

我想知道在控制器上处理 3 层深度和更深的嵌套表单的最佳方法是什么

示例:

商店控制器

def new
   @user = current_user
   @shop = @user.build_shop
   @type = @shop.build_type
end

def create
   @user = current_user
   @shop = @user.build_shop(params[:shop])
   @type = shop.build_type(params[:type])
   if  @shop.save     
     flash.now[:success] = "blah"
     render :show
  else
    render  :new 
  end
end    

I wonder what is the best way to deal with 3 levels deep and deeper of nested forms on controller

An Example:

Shop Controller

def new
   @user = current_user
   @shop = @user.build_shop
   @type = @shop.build_type
end

def create
   @user = current_user
   @shop = @user.build_shop(params[:shop])
   @type = shop.build_type(params[:type])
   if  @shop.save     
     flash.now[:success] = "blah"
     render :show
  else
    render  :new 
  end
end    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅浅淡淡 2025-01-15 16:44:29

如果 Accepts_nested_attributes_for 变得难以使用,那么您的构建方法实际上是您唯一的其他选择,而无需对代码进行更深入的重构。

If accepts_nested_attributes_for is getting unwieldy, your build methods are really your only other option without doing a deeper refactor of your code.

往日情怀 2025-01-15 16:44:29

我建议您阅读 ActiveRecord 的 accepts_nested_attributes_for方法。在大多数情况下,它将消除对所有 build_...(...) 方法的需要,并且可以与嵌套表单完美配合。

I recommend you read up on ActiveRecord's accepts_nested_attributes_for method. It will eliminate the need for all of your build_...(...) methods in most all cases, and works beautifully with nested forms.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文