Я работаю над интеграцией Twilio API в мое приложение Rails. Я выполнил учебник here, но у меня возникла проблема с получением ключей API в контроллере. Они рекомендуют использовать переменные ENV, однако мне нелегко обернуть голову, как это сделать (только с использованием Rails в течение нескольких недель).Rails: Передача ключей API к контроллеру
Так что я думаю, у меня есть два вопроса:
- Что такое лучший/простой способ использовать ENV переменные в развитии/локальной среде?
- Если я жестко задал значения в файле secrets.yml, разве это не должно работать? Я понимаю, что это не идеально для безопасности, но для тестирования, будет ли это работать или им нужно будет каким-то образом инициализироваться?
Ошибка:
ArgumentError in NotificationsController#notify - Account SID and auth token are required
notifications_controller.rb
require 'twilio-ruby'
class NotificationsController < ApplicationController
skip_before_action :verify_authenticity_token
def notify
client = Twilio::REST::Client.new Rails.application.secrets.twilio_account_sid, Rails.application.secrets.twilio_auth_token
message = client.messages.create from: '+18588779747', to: '+18583821931', body: 'First ever MyMedy notifcation test.'
render plain: message.status
end
end
secrets.yml
development:
secret_key_base: 'XXXXXXXXXXXXXXXXXXX'
twilio_account_sid: <%= ENV["TWILIO_ACCOUNT_SID"] %>
twilio_auth_token: <%= ENV["TWILIO_AUTH_TOKEN"] %>
test:
production:
secret_key_base: 'XXXXXXXXXXXXXXXXXXX'
twilio_account_sid: <%= ENV["TWILIO_ACCOUNT_SID"] %>
twilio_auth_token: <%= ENV["TWILIO_AUTH_TOKEN"] %>