I want to call the method 'url_for' in my functional test. e.g. assert_select "a[href=?]", url_for(:action => :new), :text => 'Neue Seite'
The book I am reading suggests doing this:
class PagesControllerTest < ActionController::TestCase def setup def self.url_for(options, *parameters_for_method_reference) options.merge! :only_path => true @controller.url_for(options, *parameters_for_method_reference) end end ... end
Why is it necessary to define 'url_for' within the definition of the 'setup' method?
Why is it necessary to define 'url_for' using self?
All of my tests run just fine if I define url_for as a normal instance method:
class PagesControllerTest < ActionController::TestCase def url_for(options, *parameters_for_method_reference) options.merge! :only_path => true @controller.url_for(options, *parameters_for_method_reference) end def test_create_link_in_index get :index assert_select "a[href=?]", url_for(:action => :new), :text => 'Neue Seite' end ... end
Thanks in advance.