2016-02-04 37 views
0

我有一個PhoneNumber模型,它與twilio連接在一起我驗證了這個數字,我認爲發生了什麼是我在Twilios API和模型上調用response.phone_number認爲phone_humber是我引用模型中的phone_number。該模型存儲這樣的:API中的方法導致模型中的錯誤,因爲模型被命名爲相同

******中國

  • PHONE_NUMBER

所以它的PhoneNumber.create(PHONE_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

我認爲這可能發生在這裏:'response = lookup_client.phone_numbers.get(phone_number)'什麼是phone_number?在那裏它似乎不像你已經定義它? – rii

+0

phone_number是模型中的一列,並且該方法位於其中,因此它引用了它。 –

+0

不是它不參考您的模型。我相信沒有'phone_number'方法或屬性爲你的迴應。可能是你的查詢'lookup_client.phone_numbers.get(phone_number)'不返回任何數字。 –

回答

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]) 
相關問題