使用视图变量交叉检查控制器变量的快速方法?

时间:2012-02-22 00:44:19

标签: ruby-on-rails ruby-on-rails-3 gem

是否有快速(命令OR gem OR测试框架)以确保所有View变量都指向Controller变量?

我在一个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 个答案:

答案 0 :(得分:1)

实际上,@person.nameE不会返回nil - 它会引发NoMethodError。只要您有一个测试加载该视图,您就会在运行它时看到它爆炸。

答案 1 :(得分:0)

我相信这只是一种你必须忍受的痛苦。这是当使用解释语言时发生的典型问题。你所能做的就是编写测试来防止这种情况发生。

答案 2 :(得分:0)

如果要确保,请编写视图规范/测试。

答案 3 :(得分:0)

遗憾的是,无法确保在控制器中正确设置视图中访问的变量或方法。其他海报是正确的 - 它会引发NoMethodError,最好为它编写一些测试。