我正在尝试使用 Rspec2 和 Rails3 开发视图组件。但是,我进行了以下观察,但我不明白发生了什么,以及如何解决这个问题。
在我的规范中,我定义:
描述“main/index.html.erb”做 它“在产品部分显示照片网址”做 assign(:designs, [stub_model(Design, :name => "test", :photo => "photo_url")]) 使成为 渲染的.应该包含(“photo_url”) 结尾 结尾
当我运行时:
rspec spec/view/main_spec.rb
我收到此错误:
1) main/index.html.erb 在产品部分显示照片 url 失败/错误:渲染 动作视图::模板::错误: nil:NilClass 的未定义方法“照片” # ./app/views/main/_design.html.erb:3:in `_app_views_main__design_html_erb__2937334847274155273_2170841960__1566661024965846011' # ./app/views/main/index.html.erb:25:in `_app_views_main_index_html_erb__837234277009287876_2170861440__898201527838028543' # ./spec/views/main_spec.rb:7:in `block (2 levels) in '
但是,如果我只在我的部分中“访问”一个本地照片对象,那么一切都会过去。这是:
在 _design.html.erb 中:
---> 通过 ---> 失败
在我看来,我将我的部分称为如下:
main.html.erb
{ :designs => @designs } %>
社区是怎么想的?感谢您的帮助!