Ruby on Rails get:home和static_pages_home_url之间的区别

时间:2016-10-23 15:46:18

标签: ruby-on-rails ruby

我正在阅读Michael Hartl的Ruby on Rails Tutorial(Ch.3.3.2)。 我目前正在进行失败的测试(RED)但是,我只是注意到他的static_pages_controller_test.rb已经

test "should get home" do
  get :home
  assert_response :success
end
虽然我遵循了他所做的一切,但我已经完成了。

test "should get home" do
         get static_pages_home_url
         assert_response :success  
 end

看起来像get:home和get static_pages_home_url一样。

有什么不同吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下也是如此,但并非在所有情况下都如此。

由于get :home位于static_pages_controller_test.rb内,它会自动查找该控制器并找到home method

get static_pages_home_url更有动力。它会查找home url内的static_pages_controller

因此,您可以在不同位置的测试中调用get_static_pages_home_url,但不能使用get :home