я добавил пространство имен администратора мое приложение так при входе в администрации области, она должна была бы быть, как это: Администратор/веб-сайты и администратора/страница/8маршрутизации ошибок при добавлении администратора имен
Так что это является то, что у меня в routes.rb
namespace :admin do |admin|
match '/' => 'dashboard#index'
resources :websites
resources :pages
resources :sessions
get 'login' => 'sessions#new', :as => 'login'
get 'logout' => 'sessions#destroy', :as => 'logout'
end
у меня есть admin_controller.rb в приложение каталога/контроллеров.
class Admin::BaseController < ApplicationController
protect_from_forgery
include UrlHelper
...
Я создал каталог администратора внутри приложений/контроллеров. Таким образом, у меня есть это внутри приложение/контроллеры/Администратор/websites_controller.rb
class Admin::WebsitesController < ApplicationController
Некоторые другие ответы, предлагаемые класс Администратор :: WebsitesController < администратора :: BaseController, но никогда не работал для меня. Если я ошибаюсь, дайте мне знать.
Итак, в моем файле макета (app/views/layouts/application.html.erb) У меня есть ссылки вроде этого edit_admin_website_path(@website)
, которые дают мне ошибки маршрутизации Routing Error No route matches {:action=>"edit", :controller=>"admin/websites"}
Whyyyy ?! :(
Параметры URL-адреса, которые эта ошибка возвращает, обычно должны быть '{: action =>" edit ",: controller =>" admin/websites ",: id => 3}' или независимо от идентификатора, можете ли вы проверить, '@ website' не нуль, а' @ website' сохраняется (а не 'new_record?') –
Какую версию Rails вы используете? –
аккуратный трюк: если вы найдете 'edit_admin_website_path (@website)' слишком многословным, вы можете использовать (по крайней мере, для помощников URL/link): '[: edit,: admin, @website]' –