Добавление новой страницы в Ruby on Rails

Если вы получаете такую ​​ошибку python, как это:

AttributeError: 'str' object has no attribute 'some_method'

Вы, вероятно, случайно отравили свой объект, перезаписав свой объект строкой.

Как воспроизвести эту ошибку в python с несколькими строками кода:

#!/usr/bin/env python
import json
def foobar(json):
    msg = json.loads(json)

foobar('{"batman": "yes"}')

Запустите его, который печатает:

AttributeError: 'str' object has no attribute 'loads'

Но измените имя variablename, и он отлично работает:

#!/usr/bin/env python
import json
def foobar(jsonstring):
    msg = json.loads(jsonstring)

foobar('{"batman": "yes"}')

Эта ошибка возникает, когда вы пытались запустить метод внутри строки. Строка имеет несколько методов, но не тот, который вы вызываете. Поэтому перестаньте пытаться вызвать метод, который String не определяет, и начать искать, где вы отравили ваш объект.

30
задан edgerunner 6 May 2011 в 13:15
поделиться