我有一个PhoneNumber模型,它与twilio内部连接我验证了数字,我认为发生的事情是我在Twilios API上调用response.phone_number
并且模型认为phone_humber
是我引用模型中的phone_number
。模型存储如下:
******中国
所以这是PhoneNumber.create(phone_number:“some number”)
有没有办法避免这种情况?这是我的代码:
def valid_number
lookup_client = Twilio::REST::LookupsClient.new(ENV['TWILIO_ACCOUNT_SID'], ENV['TWILIO_AUTH_TOKEN'])
begin
response = lookup_client.phone_numbers.get(phone_number)
response.phone_number
return true
rescue => e
if e.code == 20404
errors.add(:phone_number, 'number is not valid')
return false
else
raise e
end
end
end
错误返回:
undefined method `phone_number' for <Twilio::REST::Lookups::PhoneNumber @path=/v1/PhoneNumbers/>:Twilio::REST::Lookups::PhoneNumber
答案 0 :(得分:0)
未定义的方法`phone_number' Twilio :: REST ::查找:: ******中国 @路径= / V1 / PHONENUMBERS /:Twilio :: REST ::查找:: ******中国
问题出在这一行
response = lookup_client.phone_numbers.get(phone_number)
此处 Rails 无法识别phone_number
实际上是什么。
如果您在model
中使用该方法,则以下内容应该有效
response = lookup_client.phone_numbers.get(self.phone_number)
如果您在controller
中使用该方法,请检查params
进入action
并查看params[:phone_number]
response = lookup_client.phone_numbers.get(params[:phone_number])