Быстрый способ перекрестной проверки переменных контроллера с переменными представления? - PullRequest
0 голосов
/ 22 февраля 2012

Существует ли быстрый (команда ИЛИ gem ИЛИ тестовый каркас), чтобы гарантировать, что все переменные View указывают на переменные контроллера?

Я работал над приложением Rails, в котором переменная View была написана неправильно, и поэтому не отображал данные, вызываемые в Controller. Например, @person.name не отображается в представлении.

Controller  
|- @person.name = 'first'  
|- @person.email = 'first@gmail.com'  
|- @person.cell = '123-456-7890'  

View  
|- display @person.nameE    # => NoMethodError
|- display @person.email    # => first@gmail.com
|- dispaly @person.cell     # => 123-456-7890

Это приведет к тому, что @person.name не будет отображаться на виде, так как на него неправильно указывают.

Ответы [ 4 ]

1 голос
/ 22 февраля 2012

На самом деле, @person.nameE не вернет ноль - он повысит NoMethodError. Пока у вас есть тестовая загрузка этого представления, вы увидите, что он взорвется при запуске.

0 голосов
/ 22 февраля 2012

К сожалению, нет способа гарантировать, что переменные или методы, к которым осуществляется доступ в представлении, правильно установлены в контроллере. Другие постеры верны - это вызовет ошибку NoMethodError, и рекомендуется написать несколько тестов для нее.

0 голосов
/ 22 февраля 2012

Вы пишете спецификацию / тест представления, если хотите убедиться в этом.

0 голосов
/ 22 февраля 2012

Я считаю, что это просто боль, с которой вам придется жить. Это типичная проблема, возникающая при использовании интерпретируемого языка. Все, что вы можете сделать, это написать тесты, чтобы предотвратить это.

...