我看我可以用這樣的rspec的測試路線:rspec的路線測試和主機
get("/").should route_to("welcome#index")
,但我有一個基於主機名或主機名的部分限制和幾者之間重定向。測試時如何指定主機名?
如何使用適當的配置運行測試?我試圖打印root_url和我:
Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
我不使用設計,並且我得到了同樣的錯誤,當我試圖在我的一個郵件視圖中使用something_url而不是something_path時 - 因爲actionmailer不知道它運行的是什麼類型的環境。您的解決方案有效,但我只是想澄清它不是造成的由設計。 – Oranges13
@ Oranges13:6個月後,我可以清楚地看到,它不是造成錯誤,它只是通過設計的意見。我很高興我記錄了我的整個調試過程,讓我意識到我學到了多少Rails。 – Rystraum
@Rystraum我可以用你的解決方案解決這個問題。然而,假設你的用戶模型包含Devise的':confirmable'模塊,那麼在你的工廠定義中爲':user'設置confirm_at屬性,方法如下:confirm_at {Time.now}'防止* Missing host ... *錯誤。儘管如此,當我們的代碼涉及爲鏈接生成絕對URL時,需要設置默認主機。謝謝。 –