在rails中我有很多表,需要定义很多用于控制器的Model类,但是我想把所有的模型类放到一个模块文件中,然后让控制器使用模型类。模块,但我不知道该怎么做。
有人可以帮我解决这个问题吗?非常感谢你的帮助。
答案 0 :(得分:4)
app/models/widgets/blue_widget.rb
class Widgets::BlueWidget < ActiveRecord::Base
// etc.
end
app/controllers/blue_widget_controller.rb
def index
@widgets = Widgets::BlueWidget.all
end
您还可以命名控制器。
编辑:
lib/widgets.rb
module Widgets
class BlueWidget
end
class RedWidget
end
end
controller:
require 'lib/widgets'
def index
@widgets = Widgets::BlueWidget.all
end
这是你的意思吗?
答案 1 :(得分:0)
您也可以直接在子目录中生成模型并获取模块:
rails g model user/likes name:string like:boolean
您将获得生成的文件。
生成的模型将在app / models / user / likes.rb
中class User::Likes < ActiveRecord::Base
end