Ruby 将非rails类包括到controller文件夹中

Ruby 将非rails类包括到controller文件夹中,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,我的模型目录中有一个类“Dog”。它只是一个简单的ruby程序。不从活动记录继承。现在,我需要创建一个Dog对象,但在controllers文件夹中,在我的Users控制器中 有什么办法吗?您只需在用户控制器中创建一个Dog实例 模型中的类 class Dog def hi puts "HI" end end 控制器 class MainController < ApplicationController def index dog = D

我的模型目录中有一个类“Dog”。它只是一个简单的ruby程序。不从活动记录继承。现在,我需要创建一个Dog对象,但在controllers文件夹中,在我的Users控制器中


有什么办法吗?

您只需在用户控制器中创建一个Dog实例

模型中的类

class Dog

    def hi
        puts "HI"
    end

end
控制器

class MainController < ApplicationController
  def index
    dog = Dog.new
    dog.hi
  end
end
class MainController
将Dog类保存在/lib/Dog.rb中,然后在UserController中需要该文件可能会更容易。这样,您就可以将所有ActiveRecord类放在一起,并保持对Dog类的访问

app/controllers/users\u controller.rb

require "#{Rails.root}/lib/dog.rb"

class UsersController < ApplicationController
  ...
  # code that uses the Dog class
  ...
end
需要“#{Rails.root}/lib/dog.rb”
类UsersController
好的,谢谢。我还没有尝试过,因为我不知道rails是否能够识别类的文件location@TestTest但这就是模型所在的地方,你可以创建它们,对吗?是的,但这些是rails模型,所以我想rails知道它们在哪里。我的狗课不是活动记录课