Ruby on rails Rails:是否有更好的方法来预先显示视图路径,而不是在操作挂钩之前?

Ruby on rails Rails:是否有更好的方法来预先显示视图路径,而不是在操作挂钩之前?,ruby-on-rails,Ruby On Rails,我为视图嵌套了分类文件夹,例如:主类“Baby”有许多子类“Boy”、“Girl”、“Alien”等,它们在Baby视图的子文件夹中有相应的视图: “应用/视图/婴儿/男孩”、“应用/视图/婴儿/女孩” Rails默认情况下不识别视图的子文件夹,因此我在controller中使用before_操作挂钩,例如: class BoysController < ApplicationController before_action :subfolderview, except: [:create

我为视图嵌套了分类文件夹,例如:主类“Baby”有许多子类“Boy”、“Girl”、“Alien”等,它们在Baby视图的子文件夹中有相应的视图: “应用/视图/婴儿/男孩”、“应用/视图/婴儿/女孩”

Rails默认情况下不识别视图的子文件夹,因此我在controller中使用before_操作挂钩,例如:

class BoysController < ApplicationController
before_action :subfolderview, except: [:create, :destroy, :update]
...
private
  def subfolderview
    prepend_view_path Rails.root + 'app' + 'views/babies'
  end
end
我可以配置application.rb来完成所有的工作吗?比如(两者都不起作用):

或:


我认为应该有一种方法来做helper_法或者其他一些我还不知道的功夫,但是在谷歌上找不到。请帮帮我。

如上所述,路由是实现这一点的方法

config/routes.rb

namespace :babies do # /babies/boys, /babies/girls, /babies/aliens
  resources :boys, :girls, :aliens
end
男孩控制器/女孩控制器/etc类应包含在婴儿模块中:

module Babies
  class BoysController < ApplicationController
    # ...
  end
end
相应的布局文件夹也进入子文件夹:

app/views/babies/boys

ps:这样做时,路线/路径将改变:
男孩
/
编辑男孩
/etc。将变成
婴儿
/
编辑婴儿
/etc。

正如法伦赫罗上面提到的,路线就是这样做的方法

config/routes.rb

namespace :babies do # /babies/boys, /babies/girls, /babies/aliens
  resources :boys, :girls, :aliens
end
男孩控制器/女孩控制器/etc类应包含在婴儿模块中:

module Babies
  class BoysController < ApplicationController
    # ...
  end
end
相应的布局文件夹也进入子文件夹:

app/views/babies/boys

ps:这样做时,路线/路径会改变:
男孩
/
编辑男孩
/等等。会变成
婴儿
/
编辑婴儿
/等等。

渲染“婴儿/男孩/…”有什么不对?@Iceman,因为它是一样的。。。还是不?我可以通过“before_action”回调再次使用“render”,并使用更多代码,或者在每个操作中编写它,这是不容易的。嗯,我从未尝试过类似的方法,但你不能使用路由吗?使用
渲染“baby/boys/…
?@Iceman有什么不对,因为它是一样的。。。还是不?我可以通过“before_action”回调再次使用“render”,在每个操作中使用更多代码或编写它,但这并不简单。嗯,我从未尝试过类似的方法,但你不能使用路由吗?
app/views/babies/boys