2016-10-23 5 views
0

Ich lese Ruby on Rails Tutorial (Ch 3.3.2) von Michael Hartl. ich derzeit jedoch ein Versagen Test (RED) zu machen, ich habe gerade bemerkt, dass sein static_pages_controller_test.rbRuby on Rails Unterschied zwischen get: home und static_pages_home_url

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

hat und mir hat, obwohl ich alles folgte er tat.

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

Es scheint wie get: home ist das gleiche wie get static_pages_home_url.

Gibt es einen Unterschied?

Antwort

0

Es tut das gleiche in dieser Situation, aber nicht in allen Situationen.

seit get :home ist innerhalb Ihrer static_pages_controller_test.rb es sieht in diesem Controller automatisch und findet die home method.

get static_pages_home_url ist dynamischer. Es sucht nach dem home url innerhalb Ihrer static_pages_controller.

So können Sie get_static_pages_home_url in Tests an verschiedenen Standorten anrufen, aber Sie können nicht mit get :home.