Ruby on rails 嵌套命名空间和缺少的模板
我正在尝试实现一个管理面板,我认为最好在屏幕左侧有指向不同选项卡的链接,并使用AJAX在屏幕右侧显示这些选项卡 我决定在我的模型资源中使用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
: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