Как собрать множество классов Model в один модуль для использования в Rails - PullRequest
4 голосов
/ 21 января 2011

В рельсах у меня много таблиц, и мне нужно определить много классов Model для использования в качестве контроллера, но я хочу поместить все классы модели в один файл модуля, а затем сделать контроллер для использования класса модели вмодуль, но я не знаю, как это сделать.

Может кто-нибудь дать мне помощь по проблеме?Очень ценю вашу помощь.

Ответы [ 2 ]

4 голосов
/ 21 января 2011
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

Вы также можете задать пространство имен для контроллеров.

Edit:

lib/widgets.rb
module Widgets
  class BlueWidget
  end

  class RedWidget
  end
end

controller:
require 'lib/widgets'
def index
  @widgets = Widgets::BlueWidget.all
end

Это то, что вы имеете в виду?

0 голосов
/ 13 сентября 2013

Вы также можете создавать модели непосредственно в подкаталогах и получать их в модулях:

rails g model user/likes name:string like:boolean

, и вы получите ваши сгенерированные файлы.

Сгенерированная модель будет в приложении / models /пользователь / likes.rb

class User::Likes < ActiveRecord::Base
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...