例子:
# concerns/admin/name.rb
module Admin
class Name
def name
puts 'name'
end
end
end
class Admin::UsersController < Admin::ApplicationController
def index
@name = Admin::Name.new.name #正常运行
@name = Name.new.name # uninitialized constant Admin::UsersController::Name
end
end
module Admin
class UsersController < Admin::ApplicationController
def index
@name = Admin::Name.new.name #正常运行
@name = Name.new.name # 正常运行
end
end
end
# 问一下这两张定义方式原理 # 那第二种写法是会修改当前的命名空间,是吗?还有问一下,有什么方法测试一下这个命令空间? # 查到问题的答案:https://ruby-china.org/topics/26037