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