我想實現一個管理面板,我認爲這將是很好的鏈接到屏幕左側的不同標籤,並使用AJAX在屏幕右側顯示這些標籤。嵌套命名空間和缺少模板
我決定:admin
命名空間去我的模型資源的範圍內(因爲我需要:id
),所以我在router.rb做:
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_tab/info_tab_controller.rb
在這個文件中我寫的(這我不知道如果我這樣做是正確的)
class Admin::InfoTab::InfoTabController < ApplicationController
def index
logger.debug("Index from info_tab_controller loaded!")
respond_to do |format|
format.js
end
end
end
我實現了remote: true
連結此選項卡後,我點擊它來自控制器的方法被執行,但在我的服務器日誌中我得到這個:
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)
爲InfoTabController
我的索引視圖根據地方:
views/admin/info_tab/index.js.erb
我做了什麼錯?
這種方法我試圖做對嗎?還是有更好的方法來構建它? (特別是路由)