【问题标题】:Model from Gem is missing来自 Gem 的模型丢失
【发布时间】:2014-09-10 03:02:34
【问题描述】:

我在我的 Rails 4 应用程序中使用 mailboxer

gem 'mailboxer'

我最近将它从 0.11 更新到 0.12.4,它停止工作,我不知道为什么。现在,我得到了错误:

uninitialized constant Message

我检查了 gem 的 GitHub repo,它确实有 Message 模型。

我检查了我本地版本的 gem,它匹配。

Puma:mailboxer Jeff$ pwd
/Users/Jeff/.rvm/gems/ruby-2.0.0-p247/gems/mailboxer-0.12.4/app/models/mailboxer
Puma:mailboxer Jeff$ ls
conversation  conversation.rb mailbox.rb  message.rb  notification.rb receipt.rb

为什么我的应用找不到模型?我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 gem mailboxer


    【解决方案1】:

    Message 现在命名为Mailboxer::MessageAccording to the upgrade documentation,从0.11升级到0.12也需要跑几步:

    rails generate mailboxer:namespacing_compatibility
    rails generate mailboxer:install -s
    rake db:migrate
    

    【讨论】:

    • 我注意到并运行了迁移,但它们并没有为我解决问题,但我没有注意到命名空间的变化。我确实移动了一些视图,它又开始工作了。感谢您指出正确的方向。
    • @Jeff 你能发布你的解决方案吗?我遇到了类似的通知问题
    • @JeffFinn 我将一些视图移到了app/views 文件夹中的子文件夹中。我不记得究竟是哪一步修复了错误,但如果我回到我的回购历史,那天我创建了一些新文件夹......app/views/mailboxer/conversations(我认为这是一个),app/views/message_mailerapp/views/notification_mailer .
    猜你喜欢
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 1970-01-01
    • 2022-11-04
    • 2016-03-25
    相关资源
    最近更新 更多