Rails ActiveSupport Проблема с гемами состояния для уведомлений - PullRequest
1 голос
/ 07 октября 2010

Я установил несколько драгоценных камней state_machine в свое приложение, чтобы использовать их для системы уведомлений, но каждый раз, когда сталкиваюсь с проблемой ActiveSupport.Обычно это выглядит примерно так:

>> m = Message.new
TypeError: wrong argument type nil (expected Module)
        from /home/Ryan/appname/app/models/message.rb:2:in `include'
        from /home/Ryan/appname/app/models/message.rb:2
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:406:in `load_without_new_constant_marking'
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:406:in `load_file'
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:547:in `new_constants_in'
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:405:in `load_file'
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:285:in `require_or_load'
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:451:in `load_missing_constant'
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:106:in `rake_original_const_missing'
        from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2503:in `const_m
issing'
        from /home/Ryan/.bundle/ruby/1.8/gems/activesupport-2.3.9/lib/active_sup
port/dependencies.rb:118:in `const_missing'
        from (irb):2

Я на машине с Windows 7, использующей activerecord, bundler для установки гемов и рельсы 2.3.9 .. где я иду не так?Нужно ли вносить какие-либо изменения в базу данных?

Edit: message.rb

    include AlterEgo # include this first
    include AlterEgo::ActiveRecordAdapter

    state :unread, :default => true do
      handle :state do
    "unread"
      end
      transition :to => :read, :on => :view!
    end

    state :read do
      handle :state do
    "read"
      end
    end

Я не уверен, но у меня возникают проблемы с адаптацией для activerecord.мне нужно создать новую базу данных?

1 Ответ

0 голосов
/ 08 октября 2010

EDIT

В итоге я просто использовал oldschool acts_as_state_machine, поскольку это такая простая реализация

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