Rails - 更改控制器的基类

时间:2015-01-07 18:16:37

标签: ruby-on-rails ruby

我是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

解决了“未知方法”错误。

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

之后更改控制器基类是完全没问题的。我甚至认为这是在控制器上使用继承权的唯一方法,因为据我所知,没有选择让它在“控制器”中完成。调用

永远记住rails通常看起来像魔术但内心深处只是一些很酷的ruby代码;)因此,如果你想改变rails控制器的基类,那么除了改变它的基类之外别无其他。表示所述控制器的ruby类。