Ruby on rails 嵌套命名空间和缺少的模板

Ruby on rails 嵌套命名空间和缺少的模板,ruby-on-rails,Ruby On Rails,我正在尝试实现一个管理面板,我认为最好在屏幕左侧有指向不同选项卡的链接,并使用AJAX在屏幕右侧显示这些选项卡 我决定在我的模型资源中使用:admin名称空间(因为我需要:id),所以我在路由器中这样做了 resources :my_model do namespace :admin do get "panel", to: "panel#index" #The route to display the main admin panel view # for

我正在尝试实现一个管理面板,我认为最好在屏幕左侧有指向不同选项卡的链接,并使用AJAX在屏幕右侧显示这些选项卡

我决定在我的模型资源中使用
:admin
名称空间(因为我需要
:id
),所以我在路由器中这样做了

resources :my_model do
    namespace :admin do
        get "panel", to: "panel#index" #The route to display the main admin panel view
        # for now let just assume I have one tab:
        namespace :info_tab do
            get "index", to: "info_tab#index"
        end
    end
end
然后在我的控制器文件中,我有如下层次结构:

controllers/admin/info\u tab/info\u tab\u controller.rb

在这个文件中我写了(我不确定我是否做对了)

InfoTabController
的索引视图位于以下位置:

views/admin/info_tab/index.js.erb
  • 我做错了什么

  • 我尝试的这种方法正确吗?还是有更好的方法来构建它?(特别是路线)


  • Rails根据以下内容查找视图路径

    /app/views/{namespace1}/{namespace2}/{controller}/{action}

    因此,我假设您需要将视图路径设置为

    app/views/admin/info\u tab/info\u tab/index.*

    除非您预期会有许多不同的
    InfoTab
    控制器(比如几十个),否则我还建议删除
    InfoTab
    名称空间,因此您的控制器是:
    Admin::InfoTabController
    在这种情况下,当前视图路径应该可以正常工作


    如果您想了解更多关于rails如何查找视图路径的信息,我会签出一篇类似于

    rails基于以下内容查找视图路径的博客文章

    /app/views/{namespace1}/{namespace2}/{controller}/{action}

    因此,我假设您需要将视图路径设置为

    app/views/admin/info\u tab/info\u tab/index.*

    除非您预期会有许多不同的
    InfoTab
    控制器(比如几十个),否则我还建议删除
    InfoTab
    名称空间,因此您的控制器是:
    Admin::InfoTabController
    在这种情况下,当前视图路径应该可以正常工作

    如果您想了解更多关于rails如何查找视图路径的信息,我会签出一篇博客文章,如

    Started GET "/my_model/1/admin/info_tab/index" for ::1 at 2016-11-10 22:33:55 +0100
    Processing by Admin::InfoTab::InfoTabController#index as JS
    No template found for Admin::InfoTab::InfoTabController#index, rendering head :no_content
    Completed 204 No Content in 69ms (ActiveRecord: 0.4ms)
    
    views/admin/info_tab/index.js.erb