Rails Best Practices ложноположительные неиспользуемые методы

Я использую лучшие практики Rails для проверки собственного кода.

./app/controllers/news_items_controller.rb:2 - remove unused methods (NewsItemsController#new)
./app/controllers/news_items_controller.rb:2 - remove unused methods (NewsItemsController#create)
./app/controllers/news_items_controller.rb:2 - remove unused methods (NewsItemsController#edit)
./app/controllers/news_items_controller.rb:2 - remove unused methods (NewsItemsController#update)
./app/controllers/news_items_controller.rb:2 - remove unused methods (NewsItemsController#destroy)
./app/controllers/pages_controller.rb:1 - remove unused methods (PagesController#new)
./app/controllers/pages_controller.rb:1 - remove unused methods (PagesController#create)
./app/controllers/pages_controller.rb:1 - remove unused methods (PagesController#edit)
./app/controllers/pages_controller.rb:1 - remove unused methods (PagesController#update)
./app/controllers/pages_controller.rb:1 - remove unused methods (PagesController#destroy)
./app/controllers/registrations_controller.rb:2 - remove unused methods (RegistrationsController#update)
./app/controllers/registrations_controller.rb:8 - remove unused methods (RegistrationsController#after_sign_up_path_for)
./app/controllers/registrations_controller.rb:1 - remove unused methods (RegistrationsController#new)
./app/controllers/registrations_controller.rb:1 - remove unused methods (RegistrationsController#create)
./app/controllers/registrations_controller.rb:1 - remove unused methods (RegistrationsController#edit)
./app/controllers/registrations_controller.rb:1 - remove unused methods (RegistrationsController#destroy)
./app/controllers/static_controller.rb:2 - remove unused methods (StaticController#new)
./app/controllers/static_controller.rb:2 - remove unused methods (StaticController#create)
./app/controllers/static_controller.rb:2 - remove unused methods (StaticController#edit)
./app/controllers/static_controller.rb:2 - remove unused methods (StaticController#update)
./app/controllers/static_controller.rb:2 - remove unused methods (StaticController#destroy)

Действия здесь в основном неиспользуемые методы. Единственная проблема в том, что эти действия даже не определены... Я безуспешно пытался использовать remove_method.

например, news_items_controller имеет только index и show, а маршруты определяют только index и show.

Мой класс определяется следующим образом: NewsItemsController << StaticController << ApplicationController << ActionController::Base

Я предполагаю, что ActionController::Base определяет их, забавно то, что он не показывает "ApplicationController"...

вот содержимое StaticController

# encoding: utf-8                                                                                                                                                                                     
class StaticController < ApplicationController
end

И ни один маршрут не указывает на StaticController.

И маршруты.рб

  ActiveAdmin.routes(self)

  scope "(:locale)", :locale => /ru|en/ do
    devise_for :users, :controllers => { :registrations => "registrations" }

    resources :news_items, only: [:show, :index]
    resources :pages, :only => [:show]

    root to: "home#index"
  end

  root to: "home#index"

person Loïc Faure-Lacroix    schedule 15.01.2013    source источник
comment
Есть ли у вас в routes.rb такие маршруты, как resources :items или resources :news_items?   -  person Matt    schedule 15.01.2013
comment
зачем мне удалять это, rails-best-practices — это название программы. Я не прошу лучших практик... просто программа так называется   -  person Loïc Faure-Lacroix    schedule 16.01.2013
comment
@rekire github.com/railsbp/rails_best_practices   -  person Loïc Faure-Lacroix    schedule 16.01.2013
comment
Что произойдет, если вы удалите resources маршруты, исчезнут ли сообщения?   -  person Matt    schedule 16.01.2013


Ответы (1)


Лучшие практики Rails часто демонстрируют ложные срабатывания. В таких случаях я бы не стал слишком доверять RBP и полностью исключил действия из файла rails_best_practises.yml.

Например :

RemoveUnusedMethodsInControllersCheck: { except_methods: ['YourController#search'] }
person BhaskarG    schedule 08.09.2020