管理パネルを実装しようとしていますが、画面の左側に別のタブへのリンクがあり、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
は私が間違って何をしたのですか?
このアプローチは正しいことですか?それとも構造化する方がいいですか? (特にルート)