我是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
解决了“未知方法”错误。
我想知道我所做的事情是否正常。我的意思是手动更改父类,或者我还需要做其他事情?
提前致谢。
答案 0 :(得分:0)
之后更改控制器基类是完全没问题的。我甚至认为这是在控制器上使用继承权的唯一方法,因为据我所知,没有选择让它在“控制器”中完成。调用
永远记住rails通常看起来像魔术但内心深处只是一些很酷的ruby代码;)因此,如果你想改变rails控制器的基类,那么除了改变它的基类之外别无其他。表示所述控制器的ruby类。