Мы насмешливыми наши электронной почтой рабочих мест с успехом, пока мы фактически не включили наш SendGrid Gem в верхней части нашего работникаRails модель конфликт имен с включенной жемчужиной
require 'sendgrid-ruby'
include SendGrid
class Notifications::WelcomeWorker
include Sidekiq::Worker
def perform(email_id)
emailAddr = Email.find(email_id)
...
end
end
Проблема, кажется, возникает потому, что SendGrid имеет та же модель в (E-mail)
таким образом генерируя сообщение
undefined method `find' for SendGrid::Email:Class
Я пытался дозвониться Email через ApplicationRecord :: Email более зависит от конкретных условий, но безрезультатно.
Все SO и другие руководства обычно меняют название нашей модели, но я чувствую, что должен быть лучший способ. Чтобы быть ясным, мы запускаем Rails 5, поэтому мне интересно, было ли в них обновление, чтобы решить эту проблему, которую я просто не нашел.
Вы действительно должны «включать SendGrid»? Это кажется довольно инвазивным. – Stefan
Ну, я полагаю, у нас есть возможность построить свою собственную библиотеку, а не использовать их. Это было просто быстрее с точки зрения развития, чтобы использовать их Gem - это зависит от того, как сделать наше название модели другим. Я делаю панорамирование, чтобы создать отдельную проблему с сопровождающими GGG SendGrid. – CogitoErgoSum
Это не то, что я имел в виду :-) Иначе говоря: что произойдет, если вы удалите строку 'include SendGrid'? – Stefan