导轨 - 更改控制器的基类



我是Ruby on Rails的新手,我正在研究一个现有的项目,试图添加新功能。我使用以下方法生成了一个模型:

rails generate model PublisherOrg owner:string

我使用以下方法生成了控制器:

rails generate controller admin/publisher_orgs

然后在路由文件中,我添加了以下内容:

namespace :admin, path: '/admin' do
  root to: 'dashboard#index'
  resources :carriers
  resources :publisher_orgs
end

我遇到的问题是生成的控制器文件以

Admin::PublisherOrgsController < ApplicationController

但是,对于其他控制器,它就像

Admin::CarriersController < Admin::BaseController

继承是不同的。问题在于某些方法对PublisherOrgsController不可见。

手动更改控制器文件后,首先:

Admin::PublisherOrgsController < Admin::BaseController

"未知方法"错误已解决。

想知道我所做的是否正常。我的意思是手动更改父类是否足够,或者我还需要做其他事情?

提前谢谢。

之后更改控制器基类是完全可以的。我什至认为这是在控制器上使用继承特权的唯一方法,因为据我所知,没有选择在"rails g 控制器"调用中执行此操作。

永远记住,轨道通常看起来像魔术,但内心深处只是一些很酷的红宝石代码;)因此,如果要更改 rails 控制器的基类,只需更改表示所述控制器的 ruby 类的基类即可。

最新更新