還有一些其他的Rails2 - > 3路由問題,但我的複雜程度較低,實際上並沒有給我一個錯誤。那麼爲什麼這個問題?那麼我想確保我沒有使用額外的不必要的代碼。免責聲明:我是Ruby/Rails新手,通過簡單的Rails 2書籍來嘗試修改/計算所有錯誤,希望能夠更深入地理解語言。Rails3路由是最好的方法嗎?
所以我有我的第一個觀點,index.html.erb(在app/views/stories中)。當我最初在localhost上查看它時:3000 /本書的故事說,在將url更改爲localhost:3000/stories/index後,出現錯誤No route matches "/stories"
,頁面顯示完美。
一看routes.rb中示出了:
Shovell::Application.routes.draw do
get "stories/index"
我現在已經創建了是new.html.erb(在應用程序/視圖/層)的第二視圖:
<% form_for @story do |f| %>
<p>
name:<br />
<%= f.text_field :name %>
</p>
<p>
link:<br />
<%= f.text_field :link %>
</p>
<p>
<%= submit_tag %>
</p>
<% end %>
這個視圖不會顯示在我試過的任何URL上。看着服務器日誌,我決定這是一個路線的事情。我改變了的routes.rb這樣:
Shovell::Application.routes.draw do
get "stories/index"
get "stories/new"
現在,當我去到localhost:3000 /故事/新的頁面工作正常(雖然這是書中的工作的一部分的方法錯誤)。
我不得不手動輸入每個視圖到routes.rb中,必須有一種方法來設置root並讓它識別那裏的所有文件。我可以這樣做嗎?
非常感謝,我之前通讀過這篇邊緣指南,我認爲在某一點上,我有一些像'root => stories/index'這樣的東西,它在正確的軌道上很不錯,但顯然不對。現在一切正常! – tehaaron 2010-11-04 07:04:13