我收到以下錯誤,當我輸入一個電話號碼,表單字段引發ArgumentError(帳戶SID和身份驗證令牌爲必填項):
引發ArgumentError在應用:: TextyController#send_text
帳戶SID和身份驗證令牌需要
但我有身份驗證令牌並在代碼的帳戶SID。
module Messenger
def send_sms(number)
acct_sid = ENV['AC0b06exxxxxxxxxxxxx']
auth_token = ENV['68ce616xxxxxxxxxxx']
@client = Twilio::REST::Client.new acct_sid, auth_token
from = '+6466817345'
message = @client.account.messages.create(
:from => from,
:to => '+1'+number,
:body => 'accept my application'
)
end
end
我使用的是較老的Ruby 2.2.0 -v和Rails 4
這是texty_controller.rb
class Apps::TextyController < ApplicationController
def index
@phone = Phone.new
end
def send_text
@phone = Phone.new(phone_params)
@phone.send_sms(@phone.clean_number)
@phone.save
redirect_to :back
end
private
def phone_params
params.require(:phone).permit(:number)
end
end
which is a clone from the following website
我相信我沒有將它們存儲在application.yml文件中。我應該創建一個嗎?如果是的話,它應該放在什麼文件夾中?你也可以告訴我如何在控制檯中調用環境變量?謝謝 –
如果你在你的終端裏運行命令「rails c」,你就可以直接編寫ENV ['AC0b06exxxxxxxxxxxxx'],就像你在代碼中完成的一樣。如果這返回你的Twilio賬戶SID,那麼它是正確的,如果它返回nil,這意味着它沒有找到這個環境變量。 – cdimitroulas
您可以在Rails應用程序的config文件夾中創建application.yml。然後使用標準的YAML表示法可以存儲變量(例如TWILIO_AUTH_TOKEN:'************')。然後嘗試在控制檯中調用ENV ['TWILIO_AUTH_TOKEN'],並且應該返回令牌 – cdimitroulas