Железнодорожный баланс на модели приложения и контроллерах уровня администратора - PullRequest
0 голосов
/ 17 января 2009

Я только что установил железную дорогу и попытался запустить пару простых примеров. У меня есть модель приложения и контроллер, которые вызывают некоторую изжогу.

Нет реальной таблицы приложений - модель используется для загрузки (включения) таких вещей, как система аутентификации. Контроллер устанавливает helper_methods и т. Д.

У меня также есть много контроллеров, которые находятся в админе subdir для многих моделей.

Когда я запускаю: railroad -o models.dot -M Я получил: /usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/base.rb:1833:in method_missing': undefined method helper_method 'для приложения (таблица не существует): класс (NoMethodError )

Когда я запускаю: railroad -o controllers.dot -C Я получаю /usr/local/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb:445:in `load_missing_constant ': неинициализированная константа CoverageAmountsController (NameError)

Контроллер cover_amounts.rb (класс Admin :: CoverageAmountsController

Что я могу сделать, чтобы решить эти проблемы? Есть ли что-то, что я могу сделать в железной дороге или в моем приложении, чтобы оно работало? Я хотел бы использовать что-то подобное, чтобы увидеть, сработает ли это для моих нужд.

Ответы [ 2 ]

0 голосов
/ 18 января 2009

Спасибо за ответ ...

У меня есть несколько вещей, происходящих в модели приложения. Можно ли все это перенести на контроллер приложений и дать те же результаты?

class Application < ActiveRecord::Base

  include AuthenticatedSystem
  # this gives all model access to current_user
  before_filter { |c| User.current_user = c.current_user }

  # some miscellanous modules
  require HashExtensions
  require LiquidExtensions

end
0 голосов
/ 17 января 2009

Не используйте приложение в качестве имени для модели, так как это приводит к путанице с контроллером приложения, также называемым application.rb Смотрите эту ветку в рельсах вики: http://wiki.rubyonrails.org/rails/pages/ReservedWords#fn2

Обратите внимание, что эта проблема должна быть решена в краевых направляющих: http://github.com/rails/rails/commit/fcce1f17eaf9993b0210fe8e2a8117b61a1f0f69

Также ActiveRecord предполагает, что у вас есть соответствующая таблица для вашего класса (я думаю). Возможно, вы захотите включить систему аутентификации в контроллер приложения, если у вас нет веских причин не делать этого.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...