Я перенес свое приложение в Rails 6.0
У меня есть небольшая библиотека для единого входа на Disqus. В Rails 5 у меня есть эта библиотека внутри / lib, теперь я перемещаю ее в app / lib.
В моем app/lib/disqus/helpers
у меня есть два помощника: user.rb
и thread.rb
Этоявляется помощником пользователя.
module Disqus
module Helpers
module User
extend ActiveSupport::Concern
def disqus_data
{ id: "#{Rails.env}-#{id}",
username: username,
email: email,
avatar: avatar.url,
url: Rails.application.routes.url_helpers.user_url(self) }
end
def disqus_remote_auth_s3
# create a JSON packet of our data attributes
data = disqus_data.to_json
# encode the data to base64
message = Base64.encode64(data).gsub("\n", "")
# generate a timestamp for signing the message
timestamp = Time.zone.now.to_i
# generate our hmac signature
sig = OpenSSL::HMAC.hexdigest('sha1', SECRET_KEY, '%s %s' % [message, timestamp])
"#{message} #{sig} #{timestamp}"
end
end
end
end
Когда я пытаюсь позвонить с моего взгляда current_user.disqus_remote_auth_s3.to_json
У меня возникает ошибка
undefined method `disqus_remote_auth_s3' for #<User:0x00007f88298aaf30>
У меня с Rails 5 все в порядке